1)在MySQL引擎中,MyISAM更好還是InnoDB?2更好地優化數據庫設計的問題
2)我想編程CMS,它可能添加了一條信息多類 如何我必須設計我的數據庫有幾個查詢有更好的表現?
在PHP中如何列出帖子,例如= 1的類別?
謝謝
1)在MySQL引擎中,MyISAM更好還是InnoDB?2更好地優化數據庫設計的問題
2)我想編程CMS,它可能添加了一條信息多類 如何我必須設計我的數據庫有幾個查詢有更好的表現?
在PHP中如何列出帖子,例如= 1的類別?
謝謝
1)如果您需要在數據庫級別使用InnoDB否則使用MyISAM外鍵關係
2)可以使用的模式儲存在同一個表中的所有類一樣,
create table categories (
Category_ID int NOT NULL,
ParentCategory_ID int NOT NULL default 0,
CategoryName varchar(150)
);
與CATEGORY_ID主鍵
3)
$sql = select * from posts where category_id = 1;
mysql_query($sql);
編輯:交表(例如)
create table posts (
Post_ID int NOT NULL,
Category_IDs varchar(50) NOT NULL,
POSTDescription varchar(1000),
POSTTime int NOT NULL
)
Post_ID
的架構是posts
表的主鍵。
注意Category_IDs現在是類別像1,2,3
,如果您的文章屬於cateory 1,2和3 ..和刪除屬於1類的所有帖子你會遇到下面的查詢
$sql = DELETE
FROM `posts`
WHERE FIND_IN_SET('1', `Category_IDs`) >0;
varchar
儲值
沒有明確的答案,因爲它取決於你的要求,但是,很多人將已經提到過的東西,如:
但是沒有多少人會提到InnoDB的集羣初步ry關鍵指數以及一個精心設計的innodb表格如何輕鬆地執行相應的myisam表格因此。
這裏有兩個鏈接說明聚簇索引:
http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html
http://www.xaprb.com/blog/2006/07/04/how-to-exploit-mysql-index-optimizations/
另外,看看下面的實施例和製品(第二個例子可具有特定的相關性)
500萬行論壇/線程示例
1.25億行產品/類別例如
Rewriting mysql select to reduce time and writing tmp to disk
億行實驗
Innodb的對比的myisam與鶻基準測試
http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/
希望這有助於:)
參考完整性與DBMS(更少的數據庫)是無關的關係的一個或沒有。 MySQL基於SQL,這意味着它不是真正的關係型。使用InnoDB並不會使MySQL比使用MyISAM更像或更少使用RDBMS。 – sqlvogel 2011-04-15 12:15:18
@dportas,我們在這裏幫助別人不要在他們的問題上批評他們。 – 2011-04-15 12:44:25
編輯過的帖子包括(不是一個適當的RDBMS - 酸性的bla bla bla bla),但它是一個基於閱讀性能的答案。 – 2011-04-15 12:54:45
不,不!我有一個類別表看起來像你的類別表,我想要一個表posts_categories存儲所有類別的職位, – 2011-04-15 11:31:12
關於問題1,當需要外鍵? – 2011-04-15 11:32:00
你的意思是一個帖子可以屬於你的情況下的多個類別?當你想鏈接兩個表時你需要外鍵。例如你希望你的帖子與他們的類別鏈接,那麼你會把'Category_ID'作爲一個外鍵在posts表中。 – 2011-04-15 11:45:02