请问在数据库中,查询几万到十几万条数据的时候,是一次性查更快还是一条一条查更快呢,请问该怎么优化,查太久要么失败要么超过时间,不知怎么办了
肯定一次性查询,查询慢先用mysql explain 看看执行计划,索引使用情况。合理的添加一些索引。
看看SQL是否不是最优,有没有合理使用最左匹配,覆盖索引等。
也涉及到表结构是否合理等等多方面
有啥可以问我 帮你看看
一次性查更快,对查询条件里面的条件进行索引覆盖优化。
1、加正确的索引
2、如果表的数据经常变,可以考虑读写分离,即读的表可否只是每天运行一次,写的表实时更新
3、优化语句,包括把复杂的 sql 语句拆分、使用合理的函数、正确的表关联等等
4、可以把数据量大的表做表分区
5、太复杂的可以先在后台存储过程实现,把 sql 结果放入到结果表中,定时跑,直接去取结果表的数据
6、表重新设计,建表不一定要按照表的三范式,适当的的多一些冗余字段可以在查询时减少表关联,提高查询速度
7、终极办法加内存。
百分之九十情况一次性查询多条比一次次查询都要快。
当然,如果你的数据库设计十分不合理,却是可能存在多次查更快的情况。
正常查询优化无非就是。
走索引,减少取出数据,包括但不限于减少取出字段等方式。
复杂的查询建立视图。
分库分表,横切竖切。
最重要的事情:
不要在数据库做运算!!!