基本每一种语言都有自己的正则表达式,虽说匹配符基本都一样,但在用的时候还是有些不同的,mysql中的比较方便,select 'abcdefg' REGEXP '^a';返回结果为1 表示匹配 为0表示不匹配,mysql中用REGEXP来匹配,但是区分大小写,如何在实际工作中使用那,下面一个例子create table text (name varchar(20),email varchar(40));
insert into text values('bejing',beijing@163.com'),('xiao','xiao@126.com')
//匹配163邮箱
select name email from text where email REGEXP "@163[. ,]com$";
email like "@163%,com" or email like "@163%,com";//用like就比较麻烦了
sql优化:
通过show status命令了解各种sql的执行频率 show [session | global]status命令 ,默认为session级别的统计。
show status like 'Com_%';Com_**表示每个语句的执行次数,我们只关心 select insert update delete
定位执行效率较低的sql语句
通过慢查询日志定位到那些执行效率低的sql语句,--log-slow-queries[=file_name]选项启动时,然后用show processlist命令查询 distinct 去除重复记录
explain分析 explain select sum(moneys) from sales a company b where a.company_id = b.id and a.year = 2006\g;
用建立索引的方法来优化
create index index_name on tablename(columnname);