加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – INT和VARCHAR在搜索

发布时间:2020-12-12 08:26:25 所属栏目:MsSql教程 来源:网络整理
导读:以下查询中哪一个将更快更优化(为什么): SELECT * FROM items WHERE w = 320 AND h = 200(w and h are INT) SELECT * FROM items WHERE dimensions =’320×200′(dimensions is VARCHAR) 解决方法 以下是一些实际测量. (使用SQLite;稍后可以尝试使用 MySQL)
以下查询中哪一个将更快更优化(为什么):

> SELECT * FROM items WHERE w = 320 AND h = 200(w and h are INT)
> SELECT * FROM items WHERE dimensions =’320×200′(dimensions is VARCHAR)

解决方法

以下是一些实际测量. (使用SQLite;稍后可以尝试使用 MySQL)

数据= w,h∈{1 … 1000}的所有1,000,000个组合,按随机顺序排列.

CREATE TABLE项(id INTEGER PRIMARY KEY,w INTEGER,h INTEGER)

执行SELECT * FROM项目的平均时间(20次运行)WHERE w = 320,h = 200为5.39±0.29μs.

CREATE TABLE项(id INTEGER PRIMARY KEY,dimensions TEXT)

平均执行时间SELECT * FROM项目WHERE dimensions =’320×200’为5.69±0.23μs.

没有显着差异,效率明显.

在可用性方面存在巨大差异.例如,如果要计算矩形的面积和周长,两列方法很容易:

SELECT w * h,2 *(w h)FROM items

尝试以相反的方式写相应的查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读