MySql怎么查询前10条数据?

MySql怎么查询前10条数据?,第1张

mysql 没有top的用法。取而代之的是limit

语法为:limit m,n

省略n就可以得到你要的效果了。

select * from table1 limit 10

SELECT * FROM category LIMIT 3, 5

LIMIT 3, 5 这一句是关键3代表第几条数据之后开始,5代表差出几条结束(这里以mysql中的category表)

显示10条:

SELECT * FROM category LIMIT 0,10

或者

SELECT * FROM category LIMIT 10

(1)查询表中全部信息:

select * from 表名

(2)查询表中指定列的信息:

select 列1,列2 from 表名

(3)去重:

select distinct 列... from 表名

(4)拼接结果:

select concat(列1,列2) from 表名

(5)设置别名(注意:关键字as可以省略)

select 列 as 别名 from 表名

select 列 别名 from 表名

(6)条件查询:

select 列... from 表名 where 条件

条件中比较运算符:(等于:=  大于:> 大于等于:>=  小于:< 小于等于:<=  不等于:!= 或 <>)

(7)where 列  比较运算符  值

注意:字符串、日期需使用单引号括起来

(8)逻辑运算符(并且:and或&&   或:or   非:not或!)

where 条件1 逻辑运算符 条件2

where not 条件

(9)范围查询:

where 列 between 条件1  and 条件2          //列在这个区间的值where 列 not between 条件1 and 条件2    //不在这个区间where !( 列 between 条件1 and 条件2 )     //同样表示不在这个区间

集合查询(判断列的值是否在指定的集合中):

where 列 in(值1,值2)         //列中的数据是in后的值里面的where 列 not in(值1,值2)  //不是in中指定值的数据

null值查询(注意:列中值为null不能使用=去查询):

where 列 is null //查询列中值为null的数据

资料来源 网页链接

臆测一下,十倍。

为什么说是臆测呢,因为我猜这并不是问很极端的情况。

详细说来,拆解每个查询消耗的时间,并不是每个步骤都与行数有关。

查1行,查10行,网络通讯都是占大部分时间,所以是10倍。

但是,如果你一次查10w行,并不会比10w次1行快10w倍,因为大数据量查询本来就慢。

延伸一下,以前我们做过一个优化,又来用这个case连续讲了4-5年。

这是一个UPDATE table SET col = col + N WHERE key = ?的查询,大概有5k QPS左右,跑不动。

改成了UPDATE table SET col = col + 1 WHERE key IN (?, ?, ?..... )的样子,数据库CPU从40%降到1%。

这个改变没有改变任何索引使用和网络传输,是不常见的,解析SQL瓶颈。

写这个例子,是要说,优化要根据具体情况分析,数据量和使用情况都会影响结论。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8555792.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存