ero*_*ppa 0 sql database optimization rdbms
我有两个表,像这样:
表人物:
VARCHAR名称
INTEGER年龄
表消息
VARCHAR消息
VARCHAR名称
Message表中有数百个插入和删除,其中包含以下查询:
insert into Message VALUES ('Hello there', 'John');
delete from Message where name = 'John';
Run Code Online (Sandbox Code Playgroud)
我的问题是,在People中添加ID字段并在Message中引用User作为id是否值得?以下查询会更快吗?
FIRST - select id from User where name = 'John'
THEN - delete from Message where id = $id
Run Code Online (Sandbox Code Playgroud)
我认为首先通过搜索id来插入和删除比通过字符搜索更快.但要快多少?速度是否会因为需要额外查询到User表来查找id而抵消性能损失?
如你所说,额外的查询将使它慢得多(当然,依赖于名称的长度,数据库类型等)
但是当用户更改其名称,何时要删除用户等时会发生什么?那种设计会给你带来很多痛苦.无论这个微小的性能问题如何,最好进行标准化,
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |