【发布时间】:2013-10-11 11:23:47
【问题描述】:
在 mysql 中为图像托管站点设计数据库的最佳方法是什么,这样可以减少高流量站点的服务器负载。
这将是只读数据库。 这就是为什么我打算使用:MYISAM 数据库引擎和 sphinx 以实现更快的全文搜索。
sphinx 最适合加入/联合查询吗?
案例 - 1:
#######Database: image_host##########
/////////////table name : image////////////
id (int)(11) (auto-increment)
hash (varchar)(32)
name (varchar)(255)
og_name (varchar)(255)
size (int)(11)
datetime (datetime)
user_id (int)(11)
nsfw int(1) default 0
verified int(1) default 0
///////table name : image_categories///////
id (int)(11) (this is from image table)
category_id (int)(3)
///////table name : categories/////////
category_id (int)(3)
category_name (varchar)(255)
///////table name : image_user///////////
id (int)(11) (this is from image table)
user_id (int)(11)
/////////table name : users////////
user_id (int)(11)
username (varchar)(255)
email (varchar)(255)
paswword (varchar)(32)
案例 - 2: 把所有东西放在一张桌子上
#######Database: image_host##########
/////////////table name : image////////////
id (int)(11) (auto-increment)
hash (varchar)(32)
name (varchar)(255)
og_name (varchar)(255)
size (int)(11)
datetime (datetime)
category_name (varchar)(255)
username (varchar)(255)
email (varchar)(255)
paswword (varchar)(32)
nsfw int(1) default 0
verified int(1) default 0
用户上传图片时将有数百万条记录。我正在寻找基于性能的解决方案,因为每天会有数百万次读取。 我希望得到 p>
图片的id,hash,name,datetime,username,email,category,size,nsfw都在一个查询中,这可能吗?
你有什么建议? 谢谢
【问题讨论】:
-
如果是我,我会为后端使用现成的产品,例如 Gallery3 或 Coppermine(我认为这两者都使用 MySQL)。我喜欢 Gallery3,因为它非常可定制——尽管你确实会被一些令人讨厌的 EAV 东西所困。
-
谢谢,但我正在寻找定制的东西。
-
嘿,不管你的船是什么;-)
标签: mysql database-design sphinx database-performance