mysql 数据库
其中有个表
字段有 ID 姓名 身份证号 介绍(char 4000)
有1279083条数据,大小697.8M。普通查询都到了16秒左右, 百万级别数据,以后还会大量增加。
怎么才能提高查询速度?
其中有个表
字段有 ID 姓名 身份证号 介绍(char 4000)
有1279083条数据,大小697.8M。普通查询都到了16秒左右, 百万级别数据,以后还会大量增加。
怎么才能提高查询速度?
解决方案
10
你的语句是怎么的,是这样的吗:
select * from tb where 身份证号 = “7989081098098013984” 的?
身份证号能否有索引?
select * from tb where 身份证号 = “7989081098098013984” 的?
身份证号能否有索引?
40
另外,建议把 介绍字段,修改为 varchar类型的,原因是介绍这个值应该是有长有短,假如是char 4000,那么不管长短,都会固定存储4000个字节,而varchar类型的好处是 有多少存多少,这样可以节省存储空间,更进一步来说,整个表的体积就减小很多,大小697.8M应该能减少很多。
30
几种方法, 供你参考:
1. 设置行版本控制级别, 防止堵塞;
1. 设置行版本控制级别, 防止堵塞;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; SELECT * FROM TABLE_NAME ; COMMIT ;
2. 假如介绍并不重要, 只是偶尔看看, 建议把把介绍分到另外一个新表, 需要时再连接;
10
建好索引.
10多秒, 明显不正常吧, 你的查询语句怎么写的?
10多秒, 明显不正常吧, 你的查询语句怎么写的?
10
以文本方式贴出
explain select …
show index from ..
以供分析。
explain select …
show index from ..
以供分析。