小编Rah*_*wal的帖子

在另一列上排名一列

我有一张表格:

userid  rank  name
-------------------
1       4     raj
1       90    frank
1       100   neeta
1       123   liz
2       2     liz
2       20    neeta
2       23    frank
2       222   raj
Run Code Online (Sandbox Code Playgroud)

我需要把它转换成

userid  min_rank  next_min_rank
-------------------------------
1       raj       frank
2       liz       neeta
Run Code Online (Sandbox Code Playgroud)

我一直在网上搜索这个问题很长一段时间但找不到解决方案.

能否请你帮忙?

mysql sql ranking

7
推荐指数
1
解决办法
206
查看次数

如何在自己的服务器上进行反向地理编码?

我们收集了大量数据,并且正在尝试在我们的数据库上构建一个系统,该系统可以将纬度 - 经度信息转换为城市和国家.我们不想使用任何谷歌Api.我们想要设置我们自己的服务器来执行此操作.

geocoding reverse-geocoding

5
推荐指数
1
解决办法
2997
查看次数

mysql表中的数据非常大.即使选择陈述也需要很长时间

我正在研究一个数据库,它是一个非常大的数据库,拥有13亿行和35列.这是检查表状态后得到的结果:

Name:Table Name
Engine:InnoDB
Version:10
Row_format:Compact
Rows:12853961
Avg_row_length:572
Data_length:7353663488
Max_data_length:0
Index_length:5877268480
Data_free:0
Auto_increment:12933138
Create_time:41271.0312615741
Update_time:NULL
Check_time:NULL
Collation:utf8_general_ci
Checksum:NULL
Create_options:
Comment:InnoDB free: 11489280 kB
Run Code Online (Sandbox Code Playgroud)

我面临的问题是即使单个选择查询也需要花费太多时间来处理,例如查询 Select * from Table_Name limit 0,50000需要大约2.48分钟这是预期的吗?

我必须做一份报告,其中我必须使用整个历史数据,即整个1.3亿行.我可以批量执行此操作,但之后我将不得不一次又一次地运行多次花费太多时间的查询.

当简单查询花费这么多时间时,我无法执行任何其他需要连接和case语句的复杂查询.

mysql database performance reporting query-optimization

3
推荐指数
1
解决办法
1万
查看次数