1
yifeng OP 一下就沉了,心里哇凉哇凉
|
2
Livid MOD 1. 试试用 int 来表示时间
2. 试试给 sendtime 加 partition(如果是 MySQL 的话) |
3
dongyu 2014-08-27 18:18:08 +08:00 1
你查询的条件是用sendtime ,能否以某个时间间隔来分表呢,例如按天分表
|
5
lenmore 2014-08-28 11:07:27 +08:00 1
1. select语句会输出多少条记录?一次输出记录太多的话,做个分页
2. select真的有必要输出全部字段吗? 3. 给数据库分配更多内存 4. 如果有条件,上更好的硬盘。 另外,100w真不算多大的数据量 在一个150w的表上测了一下,也是datatime类型做范围查询,字段没有加索引,查询结果有7000条记录,耗时143ms |
6
yifeng OP @lenmore select语句会输出100W条数据,是这一个月的记录,已经做了分页了,表中的字段都用到了,需要全部输出,我在自己的电脑上的测得,一次查询4s,服务器上不让跑,只能在自己电脑上捣鼓,你的耗时143ms,是如何做到的,麻烦指点一下,表中的字段长度和类型会不会影响查询速率,
|
7
lenmore 2014-08-28 15:52:42 +08:00
|
8
mengskysama 2014-08-29 11:54:12 +08:00
@yifeng 你可以用mysql的explain看一下,我认为这个已经不是查询效率的问题了,主要时间都花在了数据传输上面最明显的就是磁盘IOPS和CPU性能。可能的话把这些都加载到到内存表里面,内存有限的话在撸个LRU什么的。
|