dev*_*dev 0 database sql-server seo
你好.
我正在建立一个展示大量产品的网站.我希望URL对人类友好并针对搜索引擎进行优化,因此我希望将过滤产品反映在URL中.例如,用于过滤产品的可能URL路径将是
website.com/Type/Car/Country/Usa/Manufacturer/Ford/Year/2007
所以这是我的问题,因为我总是想弄清楚如何根据这些字符串过滤数据库,这是一个使用字符串作为主键绝对有意义的情况吗?
就性能而言.
我已经阅读了这个stackoverflow问题的答案
字符串作为SQL数据库中的主键
人们说它取决于字符串的大小和其他因素但在我看来,在这种情况下,因为我总是会'寻找'在不同表中的字符串中,该字符串是主要字符串是有意义的.另一种方法是将整数设置为主键,但我仍然会搜索非主字符串并从中找出主键.从我对数据库的理解来看,这是一个坏主意,因为它们以一种搜索主键的速度比搜索任何其他字段的方式存储数据.
我正在使用MS SQL Server 2005.谢谢.
URL由于一些原因而产生错误的主键 - 一个是每次插入新记录时,您的页面将会碎片化,因为它必须对整个表进行物理重组并将新记录按字母顺序粘贴到它所属的位置.索引URL列,您将获得所需的所有查找性能.每次插入时重建索引都比在某些方面重建表更好.
另一个(正如Josh指出的那样)是URL 非常相似,因此比较将非常缓慢(与int相比) - 对于两个项目 - 2007并且2008内部website.com/Type/Car/Country/Usa/Manufacturer/Ford/Year/必须覆盖很多 - 56个字符(加上三个)对200)你打一个独特的前.
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |