mysql多表查詢
問(wèn)題描述
問(wèn)題解答
回答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 = ?
然而不蠢的方法我還沒(méi)想到
回答3:我想到的查詢語(yǔ)句是這樣的: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ì)來(lái)講,拆表后一般不需要考慮數(shù)據(jù)是從哪一張表獲取的,因?yàn)樵谀囊粡埍硗耆窍到y(tǒng)內(nèi)部的事情,對(duì)業(yè)務(wù)來(lái)講沒(méi)有意義。
depress說(shuō)的查詢方法是可行的,或者是在表內(nèi)部一個(gè)標(biāo)識(shí)字段能說(shuō)明是哪一張表。
比較理想的辦法是表拆分和ID和一定的規(guī)律,拿到ID后可以直接判斷屬于哪一張表,也省去了做UNION查詢的麻煩。如按照ID大小,每一百萬(wàn)是一張表,這樣拿到ID可以直接判斷出屬于哪一張表。
相關(guān)文章:
1. python 利用subprocess庫(kù)調(diào)用mplayer時(shí)發(fā)生錯(cuò)誤2. python文檔怎么查看?3. python - Pycharm的Debug用不了4. javascript - 關(guān)于apply()與call()的問(wèn)題5. datetime - Python如何獲取當(dāng)前時(shí)間6. javascript - nginx反向代理靜態(tài)資源403錯(cuò)誤?7. html - eclipse 標(biāo)簽錯(cuò)誤8. 請(qǐng)問(wèn)PHPstudy中的數(shù)據(jù)庫(kù)如何創(chuàng)建索引9. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入10. python - pycharm 自動(dòng)刪除行尾空格
