mysql多表查詢
問題描述
問題解答
回答1:最好存儲(chǔ)的時(shí)候根據(jù)name有個(gè)路由規(guī)則到這十個(gè)表中,如果是多維度查詢推薦使用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:從功能設(shè)計(jì)來講,拆表后一般不需要考慮數(shù)據(jù)是從哪一張表獲取的,因?yàn)樵谀囊粡埍硗耆窍到y(tǒng)內(nèi)部的事情,對業(yè)務(wù)來講沒有意義。
depress說的查詢方法是可行的,或者是在表內(nèi)部一個(gè)標(biāo)識(shí)字段能說明是哪一張表。
比較理想的辦法是表拆分和ID和一定的規(guī)律,拿到ID后可以直接判斷屬于哪一張表,也省去了做UNION查詢的麻煩。如按照ID大小,每一百萬是一張表,這樣拿到ID可以直接判斷出屬于哪一張表。
相關(guān)文章:
1. android - weex 項(xiàng)目createInstanceReferenceError: Vue is not defined2. PHPExcel表格導(dǎo)入數(shù)據(jù)庫怎么導(dǎo)入3. android - 哪位大神知道java后臺(tái)的api接口的對象傳到前端后輸入日期報(bào)錯(cuò),是什么情況?求大神指點(diǎn)4. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?5. pdo 寫入到數(shù)據(jù)庫的內(nèi)容為中文的時(shí)候?qū)懭雭y碼6. vue2.0+webpack 如何使用bootstrap?7. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;8. docker綁定了nginx端口 外部訪問不到9. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問?10. ddos - apache日志很多其它網(wǎng)址,什么情況?
