mysql多表查詢
問題描述
問題解答
回答1:最好存儲的時候根據name有個路由規則到這十個表中,如果是多維度查詢推薦使用es
回答2:比較蠢的方法是這樣:
SELECT ’table_0’, id FROM table_0 WHERE name = ?UNIONSELECT ’table_1’, id FROM table_1 WHERE name = ?UNION...SELECT ’table_9’, id FROM table_9 WHERE name = ?
然而不蠢的方法我還沒想到
回答3:我想到的查詢語句是這樣的:select * from (select id,name,’table0’ as t from table_0 union all select id,name,’table1’ as t from table_1 union all select id,name,’table2’ as t from table_2 ......) as t where t.name = ?
回答4:從功能設計來講,拆表后一般不需要考慮數據是從哪一張表獲取的,因為在哪一張表完全是系統內部的事情,對業務來講沒有意義。
depress說的查詢方法是可行的,或者是在表內部一個標識字段能說明是哪一張表。
比較理想的辦法是表拆分和ID和一定的規律,拿到ID后可以直接判斷屬于哪一張表,也省去了做UNION查詢的麻煩。如按照ID大小,每一百萬是一張表,這樣拿到ID可以直接判斷出屬于哪一張表。
相關文章:
1. html - eclipse 標簽錯誤2. javascript - js里首尾相接輪播的原理是什么?3. 求大神幫我看看是哪里寫錯了 感謝細心解答4. php自學從哪里開始?5. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...6. javascript - 數組原聲方法中的一段代碼7. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?8. javascript - 怎么實現移動端頁面滑動切換,從1可以滑到2 但是不能從2滑回1 這樣的效果呢?9. phpstady在win10上運行10. javascript - 如果所有請求都放到actions 里面,那拿到的數據應該 放在哪里,state 還是vue實例里面的data?
