Mysql
來自此模式的查詢性能
基本上所有的評論都儲存在這個模式中(dbml)
table comments { commentID BINARY(16) [not null] //UUID post_date timestamp postID BINARY(16) [not null] //UUID has_reply bool [default: false] // replyTo either points to commentID, or null // Essentially won't be loaded as a 'root' comment reply_to varchar [default: null] comment_content varchar [not null] // dislikes will decrease, likes increase likes int [default: 0] visible bool [default: true] }
當使用者瀏覽文章時,基本上數據庫將被查詢如下
SELECT * FROM foo.comments WHERE postID = "ID of the post the USER is currently on" LIMIT 0, 20
由於這種設置,我意識到這張表會變得非常大,可以容納所有評論。一段時間後(雄心勃勃地說)100 萬條評論被創建。mariaDB 將如何處理這個問題?它會非常慢嗎,如果是這樣,應該如何建模?
WHERE 子句能否讓我免於性能問題?
什麼是
PRIMARY KEY
桌子?可能commentID
每一行都是獨一無二的?如果是這樣,請添加PRIMARY KEY(commentID)
.對於
WHERE postID = "..."
,您應該添加INDEX(postID)
. *即使是十億行,*這也將使查詢速度更快。閱讀“索引”(又名“鍵”)。