关于大数据量模糊查询的方法

2008-10-24 23:20:41  |   才被阅读:1,257 次  |   要评论?
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:AlibabaDBA
标签:

实话,在ITPUB上也好,CNOUG上也好,看到很多人问数据模糊查询的问题,特别是一张表的数据量在200M以后,你的查询速度越来越慢。其实最最简单的就是 like ‘%xx%’,但是这样效率极差,纯粹在拼机器的IO了。其实在我的日常工作中,对于模糊查询,主要使用以下几种方案提高效率。

继续阅读全文...

MySql无限分类结构

2008-10-15 10:37:40  |   才被阅读:2,401 次  |   才2条评论
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:lijie250
标签: ,

无限分类是我们开发中非常常见的应用,像论坛的的版块,CMS的类别,应用的地方特别多。存储树是一种常见的问题,多种解决方案。主要有两种方法:邻接表的模型,并修改树前序遍历算法。 我们将探讨这两种方法的节能等级的数据。我会使用树从一个虚构的网上食品商店作为一个例子。这食品商店组织其食品类,通过颜色和类型。

继续阅读全文...

MySQL Order By Rand()效率

2008-10-09 18:55:29  |   才被阅读:1,912 次  |   才1条评论
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:PHPQ
标签: ,

本文详细解说了MySQL Order By Rand()效率优化的方案,并给出了是使用JOIN的语法来优化的思路过程,是篇不可多得的MySQL Order By Rand()效率美文。

继续阅读全文...

关于随机抽取order By Rand()的效率问题和改进写法!

2008-10-09 18:46:52  |   才被阅读:1,583 次  |   要评论?
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:我爱PHP
标签: ,

最近由于需要大概研究了一下MYSQL的随机抽取实现方法。

举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是 SELECT * FROM tablename ORDER BY RAND() LIMIT 1

但是,后来我查了一下MYSQL的官方手册,里面针对RAND()有如下提示:

You can’t use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. In MySQL Version 3.23, you can, however, do: SELECT * FROM table_name ORDER BY RAND()

大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机。

继续阅读全文...

MySQL优化之COUNT(*)效率

2008-09-30 11:38:04  |   才被阅读:4,127 次  |   才1条评论
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:平凡的世界
标签: , , ,

优化总结:

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;
2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 这种查询;
3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 = ‘value’ 的出现。

继续阅读全文...