Mysql(四) -- 遍历大量数据

Mysql(四) -- 遍历大量数据,第1张

如果我们有一个包含一亿条数据的表需要取出所以数据,如何通过sql取出。我们能想到有四种方式,但是性能效率会有差别,我们此时进行一下分析,判断该如何选择并实践一下查询分析。

首先我们发现上面type有range和index区分,key都是primary,rows也有分别,那么我们就来直接看下这几种字段的含义。

我们从上面可以看出在大量遍历查询数据的过程中我们应该优先考虑between-and,id>number模式,这样的查询效率会更好一些。

MySql数据库中存在大量的表结构,而且这些表都存在一个共同点,就是表中都有相同字段,比如id,name,city,adress,lat,lng。表中字段id,name,city,adress不允许为空,所以表中这几个字段的数据都是已经赋给实值的,而lat与lng(经纬度)是为空的。

现在要写一个程序,根据city,adress请求获取数据,把循环每一表中根据city,adress请求获取的数据更新到相应表,相应表中对应的那一行数据。这句话,可能你有点晕,说白了就是,先循环查询遍历表中city与adress的值,根据city,adress的值请求获取数据,更新到相应行中,这个表循环更新完了就跳到下个表中再循环更新,以此类推,直到全部更新。

mysql的INFORMATION_SCHEMA中的COLUMNS记录所有字段的信息。

可以直接查询这个表就可以。

例:查询所有字段的名称:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS

查询某表(a)所有字段的名称:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='a'


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

原文地址: http://outofmemory.cn/zaji/8589476.html

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

发表评论

登录后才能评论

评论列表(0条)

保存