当前位置

MySQL中添加字段索引的代码

James Qi 在 2011年12月27日 - 14:20 提交

  前段时间在一些Drupal网站中设置了多种Views来方便浏览者查看内容列表,但很快遇到服务器性能问题而被迫中止,在博文《Drupal网站添加Views后,MySQL服务器负载骤增》中有详细记录。

  周末实验成功了《为Drupal网站中的CCK字段在MySQL中添加添加索引来加速Views展示》,应该可以解决前面的问题,这两天我将以前涉及到网站数据库打开,在需要添加索引的字段上都添加了索引,然后把Squid和robots.txt中设置的屏蔽网址都解封了,也没有再看到负载飙升的情况。

  几种添加索引的地方记录一下:

  • 单个字段添加索引:计算字段内容的最长长度,作为添加索引的长度,添加单个字段索引
  • 单个字段添加首字母索引:将添加索引的长度固定设置为1(后被证实无效,已经删除)
  • 多个字段添加联合索引:在用到多个参数Views的情况下,需要根据实际参数情况,添加联合索引

  用到的几段代码也记录一下:

  • 计算字段内容的最长长度代码:SELECT max( length( `field_cityname_value` )) FROM `content_type_zip_code`;
  • 添加单个字段的索引:ALTER TABLE `postcodebase_wy`.`content_type_zip_code` ADD INDEX `field_cityname_value` ( `field_cityname_value` ( 24 ) );
  • 添加多个字段联合索引:ALTER TABLE `mingluji_wy`.`content_type_business_directory` ADD INDEX `city_and_sic` ( `field_city_value` ( 25 ) , `field_sic_value` ( 64 ) );

 

自由标签:

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。