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. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. javascript - QWebEngineView 如何爬 angular 的動態數據?3. javascript - 使用angular 的ui-sref 中出現了中文參數,點擊跳轉后瀏覽器的地址欄里出現轉義后的%AE....%a%44. java - 一段遞歸代碼的問題5. java - instance method中 static后的<K>是什么意思?6. html5 - 這個代碼顯示功能如何實現?7. javascript - 用JS 七牛上傳圖片出現文件已存在的錯誤(file exists)8. java - springboot新手學習9. css3 - 圖片等比例縮放10. java - com.android.internal.R.attr.dialogTheme 這個dialogTheme的內容再哪里查看?
