select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2
這個結果相當于一張表
再套用一開始寫的sql
select * from (select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2) a
join (select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2) b
on a.code=b.code and a.id!=b.id and b.date>a.date
where b.chg/a.chg>1
就是sql效率很低
uj5u.com熱心網友回復:
select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2
這個結果相當于一張表
再套用一開始寫的sql
select * from (select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2) a
join (select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2) b
on a.code=b.code and a.id!=b.id and b.date>a.date
where b.chg/a.chg>1
就是sql效率很低
這個不行,4000 條資料半天沒反應。。。
select * from stock_market a
join stock_market b on a.code=b.code and a.id!=b.id and b.date>a.date
where b.obv/a.obv>5
這潭訓可以優化改進一下嗎?
uj5u.com熱心網友回復:
這個不行,4000 條資料半天沒反應。。。
select * from stock_market a
join stock_market b on a.code=b.code and a.id!=b.id and b.date>a.date
where b.obv/a.obv>5
這潭訓可以優化改進一下嗎?
慢的原因不在于這條sql
是選前2條邏輯
select * from stock a
where (select count(*) from stock where code=a.code and date>a.date)<2
因為需要一條出來所以效率很差
還有你code上有沒有索引?
如果不介意多條的話,最好建一張臨時表把這句sql的結果插入臨時表temp_table
code上加上索引
然后
select * from
temp_table a
join
temp_table b
on a.code=b.code and a.id!=b.id and b.date>a.date
where b.chg/a.chg>1
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......