这张表可以説成一个日志表,表结构类似(用户 id,用户当前经验,用户变更经验值,用户变更经验值类型,创建时间), 有一亿条数据, 总共大小 12.6G. 对用户 id 做了索引,索引 1.6G
这张表可以説成一个日志表,表结构类似(用户 id,用户当前经验,用户变更经验值,用户变更经验值类型,创建时间), 有一亿条数据, 总共大小 12.6G. 对用户 id 做了索引,索引 1.6G
|
lhbcFeb 11, 2017 via iPhone
1
打开是指 select * ?
|
|
2
@lhbc 在 phpmyadmin 里面点击那张表
|
|
grimpilFeb 11, 2017 via Android
3
用命令行试试呗
|
|
wudegeFeb 11, 2017
4
可以更改 Web Server 和 PHP 执行超时时间;
[参考]( https://segmentfault.com/a/1190000002686153) |
|
lhbcFeb 11, 2017 via iPhone
5
为什么不是 select count(id)?
select * 任何情况都尽量不要用 |
|
wvidcFeb 11, 2017
6
分表
|
|
msg7086Feb 11, 2017
7
就问一句, InnoDB 还是 MyISAM/Aria ?
|
|
8
@msg7086 innodb
|
|
uzumakiFeb 11, 2017 via Android
9
本地用软件试试?
|
|
FelldeadbirdFeb 11, 2017
11
没有条件下,扫全表啊。这个情况还是用命令行吧。
|
|
pathboxFeb 11, 2017
12
和你的表结构有关, count(*) 不一定就用的主键, 尝试用 count(id) 试试呗
|
|
HLTFeb 11, 2017
13
谁设计的。。。
|
|
mansurFeb 11, 2017
14
你删除过记录就要挨个数了
|
|
gouchaoerFeb 11, 2017 via Android
15
说了半天都没人告诉 lz , select (*)在 myiaam 中是常数级的, innodb 却不是的,至于 select count 一回事。。。走主键索引也是扫表啊。。。。你 explain 不就知道了
|
|
zhtsucFeb 11, 2017
16
不管是啥,你 select 在一个亿 db 里查询,肯定慢,遇到这种情况,只能分片查询,或者从一开始就分表。
|
|
sagaxuFeb 12, 2017
17
|
|
ntdllFeb 12, 2017
18
没有 where 语句,何来走索引一说?都没筛选条件,不就是扫全表然后输出么?和 select 啥貌似没啥关系......
走不走索引不应该是看条件语句么?和查询的字段难道也有关系... |