PHP访问mysql数据库巨慢,请求帮助!

leotonny 2008-06-04 11:01:08
服务器配置:LAMP,apache和mysql在同一服务器上

最近访问量较大,cpu一直维持在100%的水平,但前段时间一直可以正常提供服务,且访问速度都比较正常。
这几天发现在php中查询数据库非常慢,需要15秒以上,但在服务器上执行同样sql却仅需1、2秒。

SQL:
select mytag from fmain where mytag like "%4400%" and type="vedio";

fmain表结构:
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| unix | varchar(255) | YES | MUL | NULL | |
| memo | longtext | YES | | NULL | |
| count | int(50) | YES | | NULL | |
| mytag | varchar(255) | YES | MUL | NULL | |
| pic | varchar(255) | YES | | NULL | |
| mymemo | longtext | YES | | NULL | |
| url | longtext | YES | | NULL | |
| code | varchar(100) | YES | MUL | NULL | |
| type | varchar(100) | YES | MUL | NULL | |
| artoo | varchar(50) | YES | MUL | NULL | |
| artor | varchar(50) | YES | MUL | NULL | |
+--------+--------------+------+-----+---------+----------------+
虽然在mytag和type上都建了索引,但这里like查询应该是没用上。

请教各位,可能是什么原因呢?是否需要优化mysql配置、或者是apache?
谢谢!
...全文
84 点赞 收藏 6
写回复
6 条回复
wildlily980 2008年06月06日
like %abc%不会使用索引,
两个原因你本机查询快而网络慢.
1\网络原因
2\查询缓存了原来的结果.
回复 点赞
leotonny 2008年06月06日
to dada20042030:
我在服务器mysql命令行执行sql查询的时候,apache也是在提供服务的,也就是说实际上是多人查询的。
为什么差距会这么大?

to ten789:
谢谢,如果不用like,有什么好的变通方法可以高效并使用索引呢?
回复 点赞
ten789 2008年06月05日
like 不使用索引 效率奇低
回复 点赞
剑心永远OK 2008年06月04日
另外你一个人查询的话,肯定是快的。。但你要考虑到多人查询的问题。
回复 点赞
剑心永远OK 2008年06月04日
like "%4400%"
改用子查询再用=看看。
回复 点赞
justicesun 2008年06月04日
首页上的..五种提高 SQL 性能的方法
http://topic.csdn.net/u/20080509/10/C9BEE345-3F57-4632-A84D-1673B1E96BF8.html



这一般都是sql性能问题
回复 点赞
发动态
发帖子
基础编程
创建于2007-09-28

9733

社区成员

14.0w+

社区内容

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区公告
暂无公告