PHPER进阶必备知识:详解SQL性能优化十条经验
摘要:1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。b、直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个临时表里头,然后再用临时表去做复杂关联2.索引问题在做性能跟踪分析过程中,经常发现有不少后台程
阅读全文
posted @
2012-12-26 09:57
睡着的糖葫芦
阅读(188)
推荐(0)
mysql的查询、子查询及连接查询
摘要:一、mysql查询的五种子句 where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数) 1、where常用运算符: 比较运算符 > , < ,= , != (< >),>= , <= in(v1,v2..vn) between v1 and v2 在v1至v2之间(包含v1,v2) 逻辑运算符 not ( ! )...
阅读全文
posted @
2012-12-21 11:26
睡着的糖葫芦
阅读(4731)
推荐(1)
SUBSTRING_INDEX
摘要:substring_index(str,delim,count)说明:substring_index(被截取字段,关键字,关键字出现的次数)范例mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql'mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com'
阅读全文
posted @
2012-12-11 10:38
睡着的糖葫芦
阅读(242)
推荐(0)
FIND_IN_SET()
摘要:查询表字段 pingid = (1,2,3,)用正则select * from linkinfo where pingid regexp '[[:<:]]1[[:>:]]'用FIND_IN_SET()SELECT * FROM linkinfo WHERE FIND_IN_SET( '1', pingid )原来以为mysql可以进行这样的查询select id, list, name from table where 'daodao' IN (list); (一)注:1. table含有三个字段id:int, list:varcha
阅读全文
posted @
2012-12-11 09:30
睡着的糖葫芦
阅读(344)
推荐(0)
MySQL的正则表达式
摘要:1. Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。 例如:select * from wp_posts where post_name REGEXP 'hello',可以检索出列post_name中所有包含hello的行 REGEXP '.og' .是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。注意: 关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配
阅读全文
posted @
2012-12-11 09:29
睡着的糖葫芦
阅读(3266)
推荐(0)
mysql连接字段
摘要:语法:concat 等同于字符串连接符 ||,CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。例1:concat(goods_sn,goods_title,goods_brief,goods_name) LIKE '%tablet%'等价goods_sn||goods_title||goods_brief||goods_name LIKE '%tablet
阅读全文
posted @
2012-11-21 16:20
睡着的糖葫芦
阅读(705)
推荐(0)
替换字符串sql语句(转载)
摘要:原文link:http://www.cnblogs.com/xcp19870712/archive/2012/07/11/2586182.html最近用到的替换数据表中字符串的需求挺多的,现在把替换字符串的sql语句粘贴出来,分享给大家,也方便以后自己查看:UPDATE v9_poster SET A = REPLACE( A, 'aa','bb') ;注释:v9_poster 表名称 A 字段名称 aa 是原字符串,即需要被替换的字符串 bb 是新字符串,即要替换成的字符串
阅读全文
posted @
2012-11-21 15:57
睡着的糖葫芦
阅读(213)
推荐(0)