mysql多表查詢(xún)
問(wèn)題描述
問(wèn)題解答
回答1:最好存儲(chǔ)的時(shí)候根據(jù)name有個(gè)路由規(guī)則到這十個(gè)表中,如果是多維度查詢(xún)推薦使用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:我想到的查詢(xún)語(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ō)的查詢(xún)方法是可行的,或者是在表內(nèi)部一個(gè)標(biāo)識(shí)字段能說(shuō)明是哪一張表。
比較理想的辦法是表拆分和ID和一定的規(guī)律,拿到ID后可以直接判斷屬于哪一張表,也省去了做UNION查詢(xún)的麻煩。如按照ID大小,每一百萬(wàn)是一張表,這樣拿到ID可以直接判斷出屬于哪一張表。
相關(guān)文章:
1. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)2. html按鍵開(kāi)關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)3. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫(xiě)?4. javascript - 請(qǐng)教如何獲取百度貼吧新增的兩個(gè)加密參數(shù)5. Android中能不能判斷一個(gè)數(shù)據(jù)庫(kù)是create來(lái)的,還是open來(lái)的?6. gvim - 誰(shuí)有vim里CSS的Indent文件, 能縮進(jìn)@media里面的7. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤8. PHP類(lèi)屬性聲明?9. javascript - 求助canvas繪制馬賽克的問(wèn)題,老是取色不準(zhǔn)10. java - 安卓接入微信登錄,onCreate不會(huì)執(zhí)行
