作者sqrt1089 (李崩子)
看板Database
标题[SQL ] 询问加速查询
时间Mon Jul 16 11:43:46 2018
(针对
SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
资料库名称:
资料库版本:MsSQL 2012
内容/问题描述:
我有3个table
1:主要table (table name = Flight_Resume)
https://i.imgur.com/8hCHtFb.png
其中Seq为Flight_idx = 86 的序列
msg Data为其他table的索引
譬如图上的其中一笔:seq = 18, Msd_ID = 33, Msg_Data = 349284,
Mag_table = GLOBAL_POSITION_INT
表示Flight_idx = 86 的第18笔详细资讯在table = GLOBAL_POSITION_INT里
的第349284笔,如连结:
https://i.imgur.com/ZAe3VBF.png
现在我把两个table组在一起:
https://i.imgur.com/b3zbS8s.png
以上都没问题。
以下是问题:
我要新增一栏位是GPS_RAW_INT
他的规则是 GLOBAL_POSITION_INT 之前的最新一笔
以第一张图说明:假设Seq = 32 (GLOBAL_POSITION_INT),比他之前最新一笔的
GPS_RAW_INT Seq = 31,同时也找到Msg_Data=349158,这样我就能去串资料了
我的串法是用 max去找,如图:
https://i.imgur.com/YS9cUiY.png
但这这样花费好久,65笔要1X秒,我的资料量都是万的,
我有搜寻过17000笔需要50秒,想请问我是不是少打搜寻关键字
导致搜寻这麽久!
意思就是垂直资料变成水平资料:
https://i.imgur.com/Xj3bmwY.png
文字叙述不清楚,请包涵!谢谢!
--
--
▂▂ ▂▂▂
▂▄▅▅▄▆█ _█◣
◢ (●) ◣/\\
丫 │◥  ̄◤
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.243.46
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1531712634.A.CD7.html
1F:推 cutekid: GLOBAL_POSITION_INT 跟 GPS_RAW_INT 相对应的 seq 07/16 13:18
2F:→ cutekid: 是不是一定差 1 呢?如果是的话,会有比较好的做法 07/16 13:18
3F:→ sqrt1089: 没差1 07/16 13:32
4F:→ sqrt1089: 我有找到方向,朝着#tempTable ing 07/16 13:41
5F:推 cutekid: GLOBAL 跟 GPS 是不是一定成对出现 07/16 14:41
6F:→ cutekid: 且 GLOBAL 的 seq 会大於 GPS 的 seq 呢? 07/16 14:42
7F:→ sqrt1089: 恩,但是要根据使用者,如果传到一半就关了 07/16 14:44
8F:→ sqrt1089: 就会少1 (其中一个没有成对) 07/16 14:45
9F:推 cutekid: 没有成对是少了 GPS 还是少了 GLOBAL 呢? 07/16 14:48
10F:→ sqrt1089: 感谢cutekid大大,大力相助! 07/16 17:38