对于mysql对php数据排序的疑问,求高手指点!

举例:一个30万条以内记录的数据表,做以下操作

取某个字段排序及求某两个字段的排序前100条

是直接用mysql排序分页取快还是mysql不排序直接取出30万条记录,用php排序后取出前100条快?

这两者的选择,与记录总数的选择临界点?

mysql
php
数据表
2023-02-14 12:39:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
区之里间

直接使用sql, 如果你取出数据库取出30万条,首先需要从数据库传输到你的服务器,这是一次io,而且这次io的量还不小,而且一次取这么多数据对数据库也有压力,如果是操作比较频繁,可能拖死数据库.第二你取出的30万数据要放在你的后端系统,也就是占用了你服务器的内存.第三你又需要使用算法对这30万数据进行排序又占用了这服务器的资源.

而你使用数据库对这三十万数据进行排序的话,算法现成的,数据本来就在数据库里,而且并且排序算法数据库系统有专门的设计,你只要写好sql数据库把几百条数据传给服务器就行了,假设30万数据3G当然实际上不可能这么大喽,100条也就1.024M,你想想传输这个3G的数据多占用你的带宽.下载都要下好久,而100条就1M多好.

所以你选择服务器操作这30万的数据,对数据库的资源和服务器的资源都进行了浪费,也没换来效率.虽然说是尽量避免给数据库压力,服务器能做的就服务器做,但你这种选择就本末倒置了.

分享
微博
QQ
微信
回复
2023-02-14 14:09:21
相关问题
mysql对于中文+数字排序
2251浏览 • 1回复 待解决
Mysql数据如何打乱排序
1198浏览 • 1回复 待解决
mysql varchar类型疑问
1127浏览 • 1回复 待解决
mysql 查询排序问题有了解吗?
1090浏览 • 1回复 待解决
mysql 分组去重排序问题?
981浏览 • 1回复 待解决
MySQL 如何按照地理位置排序?
1673浏览 • 1回复 待解决
sql 怎么带单位字符串排序
1179浏览 • 1回复 待解决
mysql读写分离一点疑问有懂吗?
1585浏览 • 1回复 待解决
mysql order对数字型字符串排序
1104浏览 • 1回复 待解决
websocket结合php数据实时展示页面
1649浏览 • 1回复 待解决
php几种不同访问数据方法
1886浏览 • 1回复 待解决
如何实现Page页面数据保留
622浏览 • 1回复 待解决
mysql多查询sql怎么写?
1118浏览 • 1回复 待解决