我正在構建一個程序,用於存儲來自各種來源的公司及其時間戳的新聞標題。許多表或行,哪一個在SQL中更高效?
假設公司數爲1000它去像蘋果,谷歌,微軟等..
所以,我能想到的兩種選擇。
一張有很多行的表(上面的代碼只是一個例子)。
CREATE TABLE news ( news_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, company VARCHAR(10) NOT NULL, timestamp TIMESTAMP NOT NULL, source TEXT NOT NULL, content TEXT NOT NULL, ... ) // I also can make company and timestamp as primary keys, and news_id will be unique key.*
1000表
CREATE TABLE news_apple // and news_google, news_microsoft, news_...(x 1000) ( news_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, timestamp TIMESTAMP NOT NULL, source TEXT NOT NULL, content TEXT NOT NULL, ... )
大多數時候,我會發現某一公司的消息。假設每家公司有超過10000條新聞。我想知道,如果我在第一個選項中使用'WHERE'子句,它將比第二個選項慢。
哪一個在性能方面更高效,爲什麼?
更多行。這就是關係數據庫的設計目的。具有相同結構的多個表通常是不良設計的標誌。 –
您是否考慮過基於nosql的解決方案? – theMayer
@GordonLinoff你能給我更詳細的解釋嗎? – KimchiMan