database - 我应该按 ID 还是名称在数据库中搜索内容?

标签 database content-management-system

我有一个 CMS,它有两种查询内容的方法。一种按 ID 查询,另一种按内容名称查询。

ContentManager.Select(12);

ContentManager.Select("Content Name");

我看第一种的方式会更快,因为id是一个索引,不涉及字符串比较。而第二个更容易使用。

出于维护原因,我曾使用第二个。但是,如果我更改内容名称,则 Select 显然不再起作用。但 Id 应该只是 o 数据库级别,并且在 CMS 表单中不可见。

编辑:此外,如果要删除并重新插入内容,则字符串选择会起作用,而 id 选择不会。

我无法在这两种方法之间找到共同点。

最佳答案

按主键选择可提供最佳性能,但这并不总是您唯一的动机。您可以向内容名称列添加索引,具体取决于它的宽度和您的读/写比例(我想这取决于您对数据库的控制程度)。

判断,如果您有 ID,则按 ID 选择,如果没有并且不会破坏您的性能,请不要担心使用内容名称。

关于database - 我应该按 ID 还是名称在数据库中搜索内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1348513/

相关文章:

mysql - 如何在我的文本中编写包含不需要空格的查询?

database - 寻找进行大规模集合比较的最佳工具

android - 手动设置 parseObject 的 objectId

python - 自定义 Django 表单未显示 - 使用 Wagtail

css - Wordpress - 自定义字段和类标识符

php - 如何在 CMS PHP 中自动注销非事件用户

sql-server - Weka如何连接到MSSQL服务器

android - 在 ListView 中格式化文本(从数据库填充)

php - 返回是或否 PHP 查询

.net - 是否有类似 Kirby 或 Jekyll for .NET 的东西?