mysql 索引使用问题解惑?! 本帖最后由 sea267 于 2012-12-26 14:22:09 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个,很正常啊。也不可能每次都index啊。现在问题的关键是:你为何一定要用到索引值。你要实现什么?? 因为表中数据很多 不使用索引就要全表扫描了 很卡 。我想实现的是 通过 CALL_DATE 或 CALL_DATE 组合其他字段查询某段时间的记录。条件不固定,但call_date 是必选!~ 可以强制使用索引 select * from data_log force index(call_date) where call_date between '2012-11-14 08:00:00' and '2012-11-14 23:59:59'; 可以强制使用索引 select * from data_log where call_date force index(call_date) between '2012-11-14 08:00:00' and '2012-11-14 23:59:59'; 一般情况下,当MYSQL估计符合条件的记录大于总记录的 30% 的情况下,就会直接使用全表扫描而不再使用索引。 多谢!~ 还有个问题请教下 ,我装了mysql5.5.28 给data_log 表按月分了几个区,再次查询,扫描数是少了,可速度却变慢了,这是咋个情况啊?!难道mysql5.5.28 的查询性能还比不上5.0.9? 求助老师:关于php+mysql密码加密与登录问题? 关于LOAD DATA LOCAL INFILE mysql官网上哪有下载源码? MYSQL编码问题 如何从一个表中的数据插入到另一个表中的相同字段 php调用存储过程返回值的问题 关于 MYSQL_SET_CHARSET_NAME mysql移植?? MYSQL里的表类型是什么 要插入5000条数据,运行时总是报错 我有一些投票记录,每条记录都记了IP,如何把国外的去掉呢 mysql 触发器问题
也不可能每次都index啊。
现在问题的关键是:你为何一定要用到索引值。
你要实现什么??
where call_date between '2012-11-14 08:00:00' and '2012-11-14 23:59:59';
between '2012-11-14 08:00:00' and '2012-11-14 23:59:59';
还有个问题请教下 ,我装了mysql5.5.28 给data_log 表按月分了几个区,再次查询,扫描数是少了,可速度却变慢了,这是咋个情况啊?!难道mysql5.5.28 的查询性能还比不上5.0.9?