MySQL
Echocc07
go、php
展开
-
mysql随机取出N条记录
最近在做一个场次池的功能,遇到需要在大量数据中随机取出来N条记录,搜集到3种方法,亲测如下第一种:select * from `table` order by rand() limit 80这种在数据量小的时候还可以,在数据量大的时候就会感觉到很无力效率很低,故推荐下面两种第二种:SELECT * FROM `table` WHERE id >= ((SELECT MAX(id) FRO...原创 2018-07-12 18:12:43 · 1858 阅读 · 1 评论 -
mysql种in条件之后的排序
最近在开发中遇到一种情况,PHP传入条件需要在mysql用IN条件来查询结果,而且返回结果还必须是传入条件的顺序mysql中有一种排序可以根据自己的条件来排序,比如select * from `table` where id in (`ids`) order by field(`id`,`ids`);这样就可以按照查询的顺序来返回结果了...原创 2018-07-12 18:19:05 · 439 阅读 · 0 评论 -
MYSQL 表左连接 ON AND 和ON WHERE 的区别
首先是针对左右连接,这里与inner join区分在使用left join时,on and 和on where会有区别1. on的条件是在连接生成临时表时使用的条件,以左表为基准 ,不管on中的条件真否,都会返回左表中的记录2.where条件是在临时表生成好后,再对临时表过滤。此时 和left join有区别(返回左表全部记录),条件不为真就全部过滤掉,on后的条件来生成左右表关联的临...原创 2018-09-26 13:51:31 · 564 阅读 · 0 评论 -
MySQL 性能优化神器 Explain 使用分析
简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_info WHERE id < 300;准备为了接下来方便演示 ...转载 2018-09-26 14:47:21 · 160 阅读 · 0 评论 -
MySQL中的ROWNUM(伪列自增序列号)实现排行榜
在前段时间的开发中遇到一个排行榜的需求,在排行榜中如果正确率相等的情况排名相等后面的排行结果不受影响,用到的了mysql的ROWNUM(伪列自增序列号),这样处理的数据在后端数据处理中就非常简单了.下面直接贴代码来说:第一种实现数据伪自增的形式SELECT @rownum:=@rownum+1 AS rownum, table_name.* FROM (SELECT @rownum:...原创 2018-09-21 11:16:17 · 2215 阅读 · 0 评论 -
Mysql常用函数
/* * CONCAT * CONCAT_WS*/select 'mysql ' 'string ' 'concatenation';select CONCAT('mysql',' ','string','concatenation') as message;select CONCAT_WS(',','mysql','string','concatenation') as m...原创 2018-09-21 11:24:39 · 164 阅读 · 0 评论