一个关于查询中文、数字的效率问题

NEEZA哪吒 2020-10-22 09:27:45
1、假设这个表有10万条数据
2、查询条件是WHERE Name=‘队长’
3、查询条件是WHERE Name=‘1’

1 代表的就是队长,0代表的就不是队长

查询中文‘队长’会比查询‘1’慢很多吗?

我有必要在数据库里在增加一个这样的字段用来作为查询使用吗?还是就直接查询中文队长呢?

...全文
167 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xrbaa 2020-10-23
  • 打赏
  • 举报
回复
引用 2 楼 早打大打打核战争 的回复:
楼主想太多了,如果改成数字型1、0表示队长、非队长,比使用字符型要快一些(在都有索引的情况下也差别很小),同样是字符型, '队长'和'1'的查找效率是一样的(假设有索引)


意见相同。
tanqth 2020-10-22
  • 打赏
  • 举报
回复
理论上,队长或1,查询效率上其并不会有太大区别。 正常情况下,我们会把“队长”、“副队长”、“成员”这类的做为字典数据,并对其进行管理。而在其他使用到的地方是引用对应编码(或ID)。 至于你想再增加一个专门为1而存储的字段,在技术上是可以实现的(不考虑是不是合理的情况下)。 效率、存储、安全是数据库设计时最为基本要考虑的。基于这次的问题,个人建议你需要再学习一下“数据库范式”。
  • 打赏
  • 举报
回复
楼主想太多了,如果改成数字型1、0表示队长、非队长,比使用字符型要快一些(在都有索引的情况下也差别很小),同样是字符型, '队长'和'1'的查找效率是一样的(假设有索引)

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧