免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 小木虫子
打印 上一主题 下一主题

2G的myisam表,查询慢,如何优化?【已解决】 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-11-03 13:14 |只看该作者
# User@Host: dev[dev] @  [10.1.1.4]
# Query_time: 6  Lock_time: 0  Rows_sent: 20  Rows_examined: 1275500
SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20;
# Time: 091103 13:03:41
# User@Host: dev[dev] @  [10.1.1.4]
# Query_time: 7  Lock_time: 0  Rows_sent: 20  Rows_examined: 1325420
SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1325400,20;
# Time: 091103 13:03:57
# User@Host: dev[dev] @  [10.1.1.4]
# Query_time: 7  Lock_time: 0  Rows_sent: 20  Rows_examined: 1527460
SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1527440,20;
# Time: 091103 13:04:13
# User@Host: dev[dev] @  [10.1.1.4]
# Query_time: 8  Lock_time: 0  Rows_sent: 20  Rows_examined: 1529120
SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1529100,20;

论坛徽章:
0
12 [报告]
发表于 2009-11-03 13:28 |只看该作者
病入膏肓了都。

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
13 [报告]
发表于 2009-11-03 14:01 |只看该作者
原帖由 小木虫子 于 2009-11-3 13:14 发表
# User@Host: dev[dev] @  [10.1.1.4]
# Query_time: 6  Lock_time: 0  Rows_sent: 20  Rows_examined: 1275500
SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20;
# Time:  ...


该用的索引都用了,我觉得最大的问题还是出在 LIMIT 1275480,20;上

从执行计划来看,为了这句limit,mysql还是需要读127W行以后才能给出最终答案。

我的建议是写sub qyery


select * from
pw_gbook as pw
join
(SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20) as tmp
on pw.uid=tmp.uid;


这样应该ok,楼主顺便贴一下这句的explain,再说说速度如何?

论坛徽章:
0
14 [报告]
发表于 2009-11-03 14:22 |只看该作者
1。分区
2。定时分析表
3。合理索引

论坛徽章:
0
15 [报告]
发表于 2009-11-03 14:25 |只看该作者
mysql> explain select * from pw_gbook as pw join (SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20) as tmp on pw.uid=tmp.uid;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1563343
Current database: gbook

+----+-------------+------------+------+---------------+------+---------+---------+---------+--------------------------+
| id | select_type | table      | type | possible_keys | key  | key_len | ref     | rows    | Extra                    |
+----+-------------+------------+------+---------------+------+---------+---------+---------+--------------------------+
|  1 | PRIMARY     | <derived2> | ALL  | NULL          | NULL | NULL    | NULL    |      20 |                          |
|  1 | PRIMARY     | pw         | ref  | uid           | uid  | 3       | tmp.uid |      56 |                          |
|  2 | DERIVED     | pw_gbook   | ref  | uid           | uid  | 3       |         | 1781798 | Using where; Using index |
+----+-------------+------------+------+---------------+------+---------+---------+---------+--------------------------+
3 rows in set (0.97 sec)


查了1分钟,没有显示结果,我直接终止查询了。

我想问下,我这表是myisam,如果换成innodb,速度会不会快些呢?

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
16 [报告]
发表于 2009-11-03 14:51 |只看该作者
原帖由 小木虫子 于 2009-11-3 14:25 发表
mysql> explain select * from pw_gbook as pw join (SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20) as tmp on pw.uid=tmp.uid;
ERROR 2006 (HY000): MySQL server has  ...



从执行计划来看,这句语句照理不应该需要那么久阿。
那光运行这句需要多久呢?
SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20

PS:我想了解一下,为什么你需要这么大的limit偏移量值?

论坛徽章:
0
17 [报告]
发表于 2009-11-03 14:54 |只看该作者

回复 #16 cenalulu 的帖子

我从网上下的留言板,我也不知道开发的人怎么设计的。

论坛徽章:
0
18 [报告]
发表于 2009-11-03 14:58 |只看该作者
mysql> SELECT * FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1571519
Current database: gbook

+--------+-----+-----------------------+----------+------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------+
| id     | uid | author                | authorid | type | postdate   | content                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | replydate | reply |
+--------+-----+-----------------------+----------+------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------+
| 641448 |  48 | migliori casino onli  |        0 |    0 | 1207488577 | Give  &lt;a href=http://blog.360.yahoo.com/blog-nofjg_Uzeqq8TdtF3kEBZ5jTEAjg?p=14&gt;advance cash fast loan payday&lt;/a&gt; money deck tough &lt;a href=http://blog.360.yahoo.com/blog-haOS494zaaeSm.pOeYwiT2VRSjZxIQ--?p=25&gt;omaha poker in linea&lt;/a&gt; tight cashier rooms implied &lt;a href=http://blog.360.yahoo.com/blog-878hSRgiYal5PAEqxvUCGuD0LMyWSg--?p=42&gt;jugar poquer&lt;/a&gt; tough company spread showdown.                                            |         0 |       |
| 641447 |  48 | advance cash loan pa  |        0 |    0 | 1207488575 | Do  &lt;a href=http://blog.360.yahoo.com/blog-PWxWPOwyc6d2QRf0fHiSTiF_Rw--?p=60&gt;cash till payday loan&lt;/a&gt; hanger cripple player &lt;a href=http://blog.360.yahoo.com/blog-PWxWPOwyc6d2QRf0fHiSTiF_Rw--?p=62&gt;payday cash loan&lt;/a&gt; line management racing kansas &lt;a href=http://blog.360.yahoo.com/blog-vp9SuDw5bqJTKI37nrQoPFxBxaNSjA--?p=42&gt;card consolidation credit debt pittsburgh&lt;/a&gt; joint fishhooks flush baccarat!                         |         0 |       |
| 641446 |  48 | play free baccarat o  |        0 |    0 | 1207488574 | Viewed as  &lt;a href=http://blog.360.yahoo.com/blog-PR1TXKMhKbA2QcCVzN9hMYrN_XzduA--?p=12&gt;casino secure online gambling&lt;/a&gt; railroad game rock value &lt;a href=http://blog.360.yahoo.com/blog-haOS494zaaeSm.pOeYwiT2VRSjZxIQ--?p=22&gt;poker con bonus senza deposito&lt;/a&gt; value rooms ball bust &lt;a href=http://blog.360.yahoo.com/blog-16p15ZQyc6NLMCgtudCODeBjKA--?p=30&gt;advance cash loan loan payday&lt;/a&gt; dealer club management tipping symbols? |         0 |       |
| 641445 |  48 | play free baccarat o  |        0 |    0 | 1207488574 | Think  &lt;a href=http://blog.360.yahoo.com/blog-p.4FLSYifqPXb2KI31heR1ERNpmJmQ--?p=22&gt;free no deposit casino bonus&lt;/a&gt; em pineapple variations craps &lt;a href=http://blog.360.yahoo.com/blog-vE6yJcgyc65tEsKxcAQ.aqOzEIEiAg--?p=66&gt;video poker gratis&lt;/a&gt; come over equity &lt;a href=http://blog.360.yahoo.com/blog-rYuXuW0lIqclz6QrvTyd7V.pLyebAg--?p=25&gt;juegos casino paginas web&lt;/a&gt; cap gambling down?                                       |         0 |       |
| 641444 |  48 | play blackjack        |        0 |    0 | 1207488574 | Finally  &lt;a href=http://blog.360.yahoo.com/blog-TvL8oq41fqruRZBOnauEDjZ7WveJLg--?p=59&gt;descargar juegos de poker gratis&lt;/a&gt; bankroll line banco meat bankroll player &lt;a href=http://blog.360.yahoo.com/blog-nSPkESgoaa_zsgL7QiCUoHwV3UBg?p=24&gt;giochi keno gratis&lt;/a&gt; slow draw jacks hard hand &lt;a href=http://blog.360.yahoo.com/blog-c_NYFLYlaaf3qZBPNjORDQxXEg--?p=16&gt;jugar texas holdem&lt;/a&gt; bankroll ball hand cheat coup pair!           |         0 |       |
| 641443 |  48 | poker no on line      |        0 |    0 | 1207488574 | At the beggining  &lt;a href=http://blog.360.yahoo.com/blog-UrFAHzc2crM0Z_jacYIFO7qbavf2?p=42&gt;jugar poker texas&lt;/a&gt; scalper cripple puppy jam carpet no &lt;a href=http://blog.360.yahoo.com/blog-16p15ZQyc6NLMCgtudCODeBjKA--?p=31&gt;default loan payday&lt;/a&gt; upcard tap roulette &lt;a href=http://blog.360.yahoo.com/blog-l9UbIV41eqra2X9Zyt_0FThAw2uQIA--?p=27&gt;loan payday software&lt;/a&gt; rock under poker?                                           |         0 |       |
| 641442 |  48 | bill card consolidat  |        0 |    0 | 1207488572 | Recently  &lt;a href=http://blog.360.yahoo.com/blog-nSPkESgoaa_zsgL7QiCUoHwV3UBg?p=27&gt;giochi casino flash&lt;/a&gt; deuces sharp hole &lt;a href=http://blog.360.yahoo.com/blog-12UOtmk1fqfmX_TibAJn0kiX?p=97&gt;credit card bill consolidation&lt;/a&gt; club roulette bullets flush standoff &lt;a href=http://blog.360.yahoo.com/blog-TvL8oq41fqruRZBOnauEDjZ7WveJLg--?p=59&gt;descargar juegos de poker gratis&lt;/a&gt; carpet royale puppy line!                       |         0 |       |
| 641441 |  48 | aprende a jugar poke  |        0 |    0 | 1207488571 | Three  &lt;a href=http://blog.360.yahoo.com/blog-rYuXuW0lIqclz6QrvTyd7V.pLyebAg--?p=24&gt;premio portal&lt;/a&gt; line push slots paint online exotic &lt;a href=http://blog.360.yahoo.com/blog-c_NYFLYlaaf3qZBPNjORDQxXEg--?p=16&gt;jugar texas holdem&lt;/a&gt; queens button joint &lt;a href=http://blog.360.yahoo.com/blog-PR1TXKMhKbA2QcCVzN9hMYrN_XzduA--?p=13&gt;deuces wild video poker&lt;/a&gt; em muck beard even?                                                  |         0 |       |
| 641440 |  48 | texas holdem freewar  |        0 |    0 | 1207488571 | Each one of  &lt;a href=http://blog.360.yahoo.com/blog-qVKvg3o0f7EXecqW_HIq0x_6huA-?p=12&gt;gioca poker&lt;/a&gt; natural edge spread fold south holdem &lt;a href=http://blog.360.yahoo.com/blog-UrFAHzc2crM0Z_jacYIFO7qbavf2?p=43&gt;jugar card stud gratis&lt;/a&gt; white cancellation dozen blackjack &lt;a href=http://blog.360.yahoo.com/blog-p.4FLSYifqPXb2KI31heR1ERNpmJmQ--?p=19&gt;black jack tournament ultimate&lt;/a&gt; stud blind ball hearts.                  |         0 |       |
| 641439 |  48 | probabilit脿 roulette |        0 |    0 | 1207488571 | Dear  &lt;a href=http://blog.360.yahoo.com/blog-PR1TXKMhKbA2QcCVzN9hMYrN_XzduA--?p=13&gt;video poker software&lt;/a&gt; kings road strategies overplay number hopper &lt;a href=http://blog.360.yahoo.com/blog-haOS494zaaeSm.pOeYwiT2VRSjZxIQ--?p=23&gt;giochi seven card stud gratis&lt;/a&gt; rake split roulette &lt;a href=http://blog.360.yahoo.com/blog-ee6O29c9erSXs6GzQTod7XaUMb5N?p=16&gt;payday loan cash advance loan&lt;/a&gt; juice edge score!                    |         0 |       |
| 641438 |  48 | poquer gratis         |        0 |    0 | 1207488571 | Find  &lt;a href=http://blog.360.yahoo.com/blog-PR1TXKMhKbA2QcCVzN9hMYrN_XzduA--?p=15&gt;uk best casino online&lt;/a&gt; carribean grip semi &lt;a href=http://blog.360.yahoo.com/blog-ee6O29c9erSXs6GzQTod7XaUMb5N?p=17&gt;calgary loan payday&lt;/a&gt; blind nuts cap keno glimmer &lt;a href=http://blog.360.yahoo.com/blog-TvL8oq41fqruRZBOnauEDjZ7WveJLg--?p=60&gt;torneos de poquer&lt;/a&gt; stack pair second.                                                         |         0 |       |
| 641437 |  48 | casino on line grati  |        0 |    0 | 1207488571 | Turn  &lt;a href=http://blog.360.yahoo.com/blog-16p15ZQyc6NLMCgtudCODeBjKA--?p=30&gt;advance cash loan loan payday&lt;/a&gt; clubs blind empirepoker &lt;a href=http://blog.360.yahoo.com/blog-16p15ZQyc6NLMCgtudCODeBjKA--?p=33&gt;approval instant loan online payday&lt;/a&gt; boat war rainbow longshot &lt;a href=http://blog.360.yahoo.com/blog-wMEUXTw9a6dJE8CTNXvXQvUxNgGh?p=15&gt;play free casino game for fun&lt;/a&gt; joint gross glossary!                        |         0 |       |
| 641436 |  48 | free no deposit casi  |        0 |    0 | 1207488571 | After  &lt;a href=http://blog.360.yahoo.com/blog-eBUhYZsic6O.pkKt8N3lTt063pVvjw--?p=43&gt;slots machines&lt;/a&gt; rolling joint handicapper crown buy &lt;a href=http://blog.360.yahoo.com/blog-vE6yJcgyc65tEsKxcAQ.aqOzEIEiAg--?p=65&gt;casino online autorizzati&lt;/a&gt; check bet road table &lt;a href=http://blog.360.yahoo.com/blog-eBUhYZsic6O.pkKt8N3lTt063pVvjw--?p=39&gt;trucchi casino online&lt;/a&gt; tough lowball overplay em.                                |         0 |       |
| 641435 |  48 | approval instant loa  |        0 |    0 | 1207488570 | Exception  &lt;a href=http://blog.360.yahoo.com/blog-878hSRgiYal5PAEqxvUCGuD0LMyWSg--?p=42&gt;jugar poquer&lt;/a&gt; vegas strategies easy rank &lt;a href=http://blog.360.yahoo.com/blog-TvL8oq41fqruRZBOnauEDjZ7WveJLg--?p=58&gt;pacific poker&lt;/a&gt; come railbirds small tell cancellation punto &lt;a href=http://blog.360.yahoo.com/blog-vE6yJcgyc65tEsKxcAQ.aqOzEIEiAg--?p=67&gt;casino on line gratis&lt;/a&gt; up empirepoker dollar lock.                          |         0 |       |
| 641434 |  48 | free no deposit casi  |        0 |    0 | 1207488569 | Am  &lt;a href=http://blog.360.yahoo.com/blog-16p15ZQyc6NLMCgtudCODeBjKA--?p=34&gt;loan payday quick&lt;/a&gt; wiseguy carribean nuts &lt;a href=http://blog.360.yahoo.com/blog-nSPkESgoaa_zsgL7QiCUoHwV3UBg?p=26&gt;gioco roulette&lt;/a&gt; double belly keno &lt;a href=http://blog.360.yahoo.com/blog-nSPkESgoaa_zsgL7QiCUoHwV3UBg?p=27&gt;giochi casino flash&lt;/a&gt; grinder boat less puppy.                                                                           |         0 |       |
| 641433 |  48 | calgary payday loan   |        0 |    0 | 1207488569 | Get started  &lt;a href=http://blog.360.yahoo.com/blog-878hSRgiYal5PAEqxvUCGuD0LMyWSg--?p=39&gt;juega poquer&lt;/a&gt; garden out minus hearts door rag &lt;a href=http://blog.360.yahoo.com/blog-eBUhYZsic6O.pkKt8N3lTt063pVvjw--?p=41&gt;migliori casino online&lt;/a&gt; turn acquaintance vigorish represent racing hopper &lt;a href=http://blog.360.yahoo.com/blog-haOS494zaaeSm.pOeYwiT2VRSjZxIQ--?p=25&gt;omaha poker in linea&lt;/a&gt; dollar aces upcard!            |         0 |       |
| 641432 |  48 | tragaperra web        |        0 |    0 | 1207488569 | In general  &lt;a href=http://blog.360.yahoo.com/blog-haOS494zaaeSm.pOeYwiT2VRSjZxIQ--?p=24&gt;strip poker game online&lt;/a&gt; banco jam up &lt;a href=http://blog.360.yahoo.com/blog-c_NYFLYlaaf3qZBPNjORDQxXEg--?p=18&gt;poquer gratis&lt;/a&gt; nuts line churn blind &lt;a href=http://blog.360.yahoo.com/blog-eBUhYZsic6O.pkKt8N3lTt063pVvjw--?p=41&gt;migliori casino online&lt;/a&gt; racing boat line hanger wiseguy no.                                              |         0 |       |
| 641431 |  48 | play slots online     |        0 |    0 | 1207488562 | Here  &lt;a href=http://blog.360.yahoo.com/blog-kKpXXSM9frWTcwiwX4_KLA8-?p=42&gt;jugar card stud&lt;/a&gt; joker credit raise &lt;a href=http://blog.360.yahoo.com/blog-MEL_wig_Lv_C0YYeFiE4VxwMg4GP5w--?p=21&gt;online baccarat spielen&lt;/a&gt; table racing card parlay cripple buy &lt;a href=http://blog.360.yahoo.com/blog-rw7fC4c8dKil8Mf9zg0uP.jmn.nI?p=22&gt;no fax cash advance&lt;/a&gt; club beard pay vegas credit?                                               |         0 |       |
| 641430 |  48 | john.taylor@aon.at    |        0 |    0 | 1207488544 |  &nbsp; Enjoyed your website and found it informative.reservations airline tickets &lt;a href=&quot;http://flay-2a.w8w.pl/?reservations-airline-tickets&quot;&gt;reservations airline tickets&lt;/a&gt;                                                                                                                                                                                                          |         0 |       |
| 641429 |  48 | sigmroni@hotmail.com  |        0 |    0 | 1207488543 |  &nbsp; Take care of it and keep it on the road!caira ticket &lt;a href=&quot;http://flay-2a.w8w.pl/?caira-ticket&quot;&gt;caira ticket&lt;/a&gt;                                                                                                                                                                                                                                                                                |         0 |       |
+--------+-----+-----------------------+----------+------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------+
20 rows in set (7.63 sec)

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
19 [报告]
发表于 2009-11-03 15:08 |只看该作者
我想看的是select uid 的时间,不是select *

论坛徽章:
0
20 [报告]
发表于 2009-11-03 15:26 |只看该作者
mysql> SELECT uid FROM pw_gbook WHERE uid='48' ORDER BY postdate DESC LIMIT 1275480,20;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1577531
Current database: gbook

+-----+
| uid |
+-----+
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
|  48 |
+-----+
20 rows in set (0.96 sec)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP