速度慢会有很多原因。
说两个我曾经遇到过的1,和表结构有关,表记录很多的时候,如果没有正确的建好相应的索引,那SELECT出来的速度是奇慢无比。
2,和SELECT语句有关,在SELECT 大表的时候,尽量不要用*,同样的统计条数的时候count()数函数也不要用*号,指定字段会节省很多的开销。
说两个我曾经遇到过的1,和表结构有关,表记录很多的时候,如果没有正确的建好相应的索引,那SELECT出来的速度是奇慢无比。
2,和SELECT语句有关,在SELECT 大表的时候,尽量不要用*,同样的统计条数的时候count()数函数也不要用*号,指定字段会节省很多的开销。
解决方案 »
- 今天老大叫我改以前公司做的一个php项目的首页,没学过php,求指点
- php require_once Failed opening required 错误如何解决
- 时间问题和POST问题
- 全站生成静态页
- 没多少分了,谢谢大伙了,日期列表的算法及实现
- 求救!帮帮小弟。。PHP Session问题???最好是有高手能在QQ上指点,万分感谢!如能见面定请吃饭。。。
- 请问这句SQL语句怎么写 ~~~~~~~~~~~~~~~~~~~~~
- 如何设置这样的一个字段
- 请问高手,对于,php使用api问题,为什么我载入 PHP 扩充模块时出错了?如:dl("php_w32api.dll");为什么,我那里错了?请帮助。
- 课设,急求大神指导
- php中关于sql数据库数据的问题
- 求PHP连接MYSQL数据库代码和需要的jar文件
不会的,要不就是想一楼所书的SQL的问题,要不就是你程序结构的问题了!
第一,sql语句,你看看你的sql运行慢吗?本地数据库里面直接运行可以看见时间,如果低于1秒就不会因为这个原因;
第二,程序原因,那一般就是某个页面慢,不会造成所有的页面都慢的;然后分析慢的页面;
第三,网络慢,具体解决办法不多;测试方法看看静态页面打开慢吗?
第四,服务器慢,那就是配置太低或者中毒了;
第五,还没有想到
比如:
SELECT * FROM xxxx WHERE abc NOT IN (SELECT * FROM yyyy WHERE yyyy.cde>xxxx.abc)
等等,这只是一个例子,上面这个查询要做的次数就是count(xxxx)*count(yyyy)次,如果xxxx表和yyyy表的数据量都是以万来计算的话,如果类似的结构你再多迭代几次的话,这个数字可能是天文数字当然,这种情况也发生在自我迭代的过程中,比如:
SELECT * FROM xxxx AS t1 WHERE abc NOT IN (SELECT * FROM xxxx AS t2 WHERE t1.cde>t2.abc)
你多检查检查吧,实在不行就把代码贴上来好了
比如:
SELECT * FROM xxxx WHERE abc NOT IN (SELECT bcd as abc FROM yyyy WHERE yyyy.cde> xxxx.abc)
等等,这只是一个例子,上面这个查询要做的次数就是count(xxxx)*count(yyyy)次,如果xxxx表和yyyy表的数据量都是以万来计算的话,如果类似的结构你再多迭代几次的话,这个数字可能是天文数字 当然,这种情况也发生在自我迭代的过程中,比如:
SELECT * FROM xxxx AS t1 WHERE abc NOT IN (SELECT abc FROM xxxx AS t2 WHERE t1.cde> t2.abc)
你多检查检查吧,实在不行就把代码贴上来好了
如果mysql占的cpu总是很高,就说明你的某些sql有问题。当你的网站突然变得很慢时,你在mysql的命令行中反复执行SHOW VARIABLES命令,查看一下你的mysql正在执行哪条sql语句。看到sql语句后,你可以对这条sql语句进行优化。打开my.cnf(windows下为my.ini),加上log-slow-queries = slow.log,然后去查看这个log文件,里面记录的全都是你的网站执行的最慢的sql语句。逐一优化。