为什么我在MySQL一张表里只有2万的数据,但是连接别的表查询会特别慢,就算是单表查询都非常慢,请问这是什么原因?要怎么解决?
数据量不大,单表查询都特别慢,那这个表需要优化优化了。主键,索引加上去看看
这个是加了的,主键和索引都加了,但是查询就是特别慢
@尐灬疯子: 那看看查询语句是不是要优化 SQL语句优化
@华临天下: 关键是我就是写的 select * from 表名 ,这样也特别慢,要查询将近14秒才能查询出来
@尐灬疯子: 尽量别*,还是取需要的字段比较好,话说你就2万数据也不至于啊
@华临天下: 我怀疑是不是服务器有问题啊,我用我本地的数据库同样的表结构同样的数据同样的语句,秒查出来了,但是服务器就慢的不行了
@尐灬疯子: 园子里的文章,你看看 https://www.cnblogs.com/skitson/articles/10493811.html
这是网速的问题吧
连接的表多少数据?看是不是有全表扫描,mysql提供了sql执行分析查询的工具,可以看是否有全表扫描,忘了那个命令叫什么了,你baidu一下,然后查查看。
按照你的描述,应该是环境出现了问题,但具体问题不是太清楚。
1、重启一下数据库服务
2、查询时,看一下数据库所在服务器的内存和CPU占用,如果CPU持续100%,可能
3、如果不是生产,必要时,也可以重启一下服务器O(∩_∩)O
select * from
不要用 *
跟踪查询计划啊,sql调优是程序员必备的技能,高级程序员就是sql调优比较牛逼的那些,加油