sql语句的技巧及优化
副标题[/!--empirenews.page--]
一、sql中使用正则表达式select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regexp对性能影响较大。 二、使用Rand()函数获取随机数据rand();随机数函数 1、随机排序 mysql> select * from hello order by rand(); 2、随机列抽取3条 mysql> select * from hello order by rand() limit 3; 三、使用group by 分组语句后面跟with rollup 关键字,可以统计出更多的信息。(with rollup后不能再使用order by)四、外键表B1中的一个普通的列是另一个表B2的主键,如果B2表中的一条记录删除那表B1中关联该主键值的列也应该删除。 不建议使用外键,在使用的时候要注意。 mysql中的Innodb存储引擎支持外键。 五、使用 ? % 查看帮助手册? create 、? opti% 、? contents 、? functions mysql优化一、sql语句如何优化 1、查询数据库各种sql类型语句的执行情况。 show [session | global ] status :了解数据库中各种sql的执行频率 session:表示查询当前建立连接以来各种SQL的执行频率 global:表示自数据库启动以来各种SQL的执行频率 一般我们主要查询这些信息: com_xxx :表示每个xxx语句的执行次数,该方式可以查看mysql任何存储引擎的sql语句执行次数记录。 show GLOBAL status like "com_select%"; // 查看sql 中select语句的执行次数 对于存储引擎为InnoDB:该方式查询的记录数是计算你每次SQL操作数据的行数。(例如:delete from hello where id <=10 该语句删除了10条记录,那么Innodb_rows_deleted=10) mysql> show status like 'connections'; 查看mysql的连接量(无论一次连接是否成功) mysql> show status like 'uptime'; 查看mysql工作时间 单位秒 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |