百万级数据,查询时间达到16秒,怎么提高查询速度?

MySql 码拜 8年前 (2016-02-11) 1706次浏览
mysql 数据库
其中有个表
字段有 ID   姓名   身份证号   介绍(char 4000)
有1279083条数据,大小697.8M。普通查询都到了16秒左右,    百万级别数据,以后还会大量增加。
怎么才能提高查询速度?
解决方案

10

你的语句是怎么的,是这样的吗:
select * from tb where 身份证号 = “7989081098098013984”  的?
身份证号能否有索引?

40

另外,建议把 介绍字段,修改为 varchar类型的,原因是介绍这个值应该是有长有短,假如是char 4000,那么不管长短,都会固定存储4000个字节,而varchar类型的好处是 有多少存多少,这样可以节省存储空间,更进一步来说,整个表的体积就减小很多,大小697.8M应该能减少很多。

30

几种方法, 供你参考:
1.  设置行版本控制级别, 防止堵塞;

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
COMMIT ;

2.  假如介绍并不重要, 只是偶尔看看, 建议把把介绍分到另外一个新表, 需要时再连接;

10

建好索引.
10多秒, 明显不正常吧,  你的查询语句怎么写的?

10

以文本方式贴出
explain select …
show index from ..
以供分析。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明百万级数据,查询时间达到16秒,怎么提高查询速度?
喜欢 (0)
[1034331897@qq.com]
分享 (0)