RSS
 

Archive for the ‘Mysql’ Category

使用全文搜索代替like(mysql)

14 Jul
cmsware越用越慢啊,不优化不行了,开了慢查询,看到有以下大量的查询:
select URL FROM cmsware_publish_log where FileName LIKE ‘%img200904172058390_58x58.jpg’;# Time: 100714  2:06:18

于是尝试使用索引来提高效率,加了一个全文索引,没有效果,好像对于%xxx 这样的查询,索引是没没有效果的.

于是在网上找了一下:

mysql> explain select logID FROM cmsware_publish_log where match(FileName) against (‘*22_522704_a31ed5e97bd4097_60x90.png’);

+—-+————-+———————+———-+—————+———-+———+——+——+————-+

| id | select_type | table               | type     | possible_keys | key      | key_len | ref  | rows | Extra       |

+—-+————-+———————+———-+—————+———-+———+——+——+————-+

|  1 | SIMPLE      | cmsware_publish_log | fulltext | filename      | filename | 0       |      |    1 | Using where |

+—-+————-+———————+———-+—————+———-+———+——+——+————-+

说是使用全文搜索代替like,会好很多,于是测试了一下,效果还是不错的,至少从我这里单命令行测试,是快了很多,于是修改functions.php5.php这个文件,把

$result=$db->getRow(“select URL FROM $table->publish_log where FileName LIKE ‘%{$searchFileName}’ “);

修改为:

$result=$db->getRow(“select URL FROM $table->publish_log where match(FileName) against (‘*{$searchFileName}’) “);

一共是两处,虽然改了,但还是没有发现速度有明显提升.继续找原因,至少这个可以提高不少吧.

 
 

cacti+rrdtool支持中文+连接数监控

21 Dec

很早以前就装过rrdtool,可惜那个时候没有写文档,今天又要重来.记得那个时候是异常的曲折,不过今天是很顺利.

1.首先到官方下载最新的cacti,这次发现这个版本有很多细节上改进.佩服啊,人家这个版本更新几年了,一直是0.8.7x系列.如果是某些软件早就是8.7了.

Read the rest of this entry »