什么会更快:通过一个包含17个不同列的表搜索右行,每个列的tinyint值为1-4?

或者,通过仅包含1列的表格搜索右行,将这17个数字连接在一起作为单个bigint?

组合时的数字彼此都是唯一的(没有行具有与任何其他行相同的值/值).我是索引的新手,什么不是,所以我不知道我应该如何建模我的表/服务器逻辑.

解决方法:

如果我们正在谈论您可能想要查询一个或多个属性的内容,我的建议将是多列,适当地编入索引(对于一个小的,不经常更改的数据集,索引所有列).

这最适合您可能想要运行查询的情况

SELECT * FROM表WHERE attribute1 = 1 AND attribute3 = 2

因为您将拥有多个索引列,并且对其中一个或多个列的搜索将相对有效.

如果我们谈论的是你只想在聚合上查询的东西(所有属性都匹配),单个列在存储方面会更有效,并且可能在索引方面也是如此.

这最适用于前一个示例将始终转换为的情况

SELECT * FROM表WHERE attribute1 = 1 AND … AND attribute17 = 17

而不是必须交叉检查多个列,它只是

SELECT * FROM表WHERE attributeColumn = 1234567 – 您不必扫描17个索引(或检查每行中17列的内容),您只需要进行单索引扫描.

标签:mysql,database-design,index

来源: https://codeday.me/bug/20190806/1600048.html

mysql建模之前需要会什么_mysql – 什么是建模我简单表的最佳方法?相关推荐

  1. mysql 回表 覆盖索引_MySQL 的覆盖索引与回表的使用方法

    两大类索引 使用的存储引擎:MySQL5.7 InnoDB 聚簇索引 * 如果表设置了主键,则主键就是聚簇索引 * 如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索 ...

  2. mysql+索引优化+查询优化+存储优化_mysql利用覆盖索引避免回表优化查询

    前言 说到覆盖索引之前,先要了解它的数据结构:B+树. 先建个表演示(为了简单,id按顺序建): id name 1 aa 3 kl 5 op 8 aa 10 kk 11 kl 14 jk 16 ml ...

  3. mysql不被其他ip访问_mysql数据库无法被其他ip访问的解决方法

    前言 还是之前说的项目,环境目前已经准备好了,项目准备验证阶段发现了一个问题,从上层应用输入鉴权访问应用,一直在等待状态,输入了正确的用户名及密码,却无法访问.看起来像是没办法访问到数据库连接的意思. ...

  4. MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?

    问 题 原料 两张表,一张user表,一张user_log表(这个例子举的不好) CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...

  5. Mysql -uroot -p 登陆不上_mysql服务启动却连接不上的解决方法

    mysql服务启动,但是连接不上,如何解决? 登陆报错: root@localhost:~# mysql -u root -p Enter password: ERROR 2002 (HY000): ...

  6. mysql文件导出NULL值处理_Mysql select into outfile NULL值导出的处理方法

    目录 1简介... 1 2 准备... 1 2.1 环境说明... 1 3 安装... 2 4 配置... 2 5 使用... 2 5.1 验证实验... 2 5.2 问题分析... 4 6 延展.. ...

  7. mysql 怎么修改成新字段_Mysql入门第一课《建表、改表、删表》

    原文在我的 Github 上,欢迎订阅. 前言 本人想学数据库了,于是有了这个Mysql系列. 本系列主要用于本人学习Mysql的记录,我把它当做学习笔记. 没有从安装数据库及用户新增和权限分配等知识 ...

  8. mysql的select复合查询语法_MySQL(九)之数据表的查询详解(SELECT语法)二

    上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1 ...

  9. MySQL第41题怎么评分_MYSQL练习题54道(包含尽可能多的解决方法及思路)

    MYSQL练习题(包含尽可能多的解决方法) 下面的表和题目来自于网上,解题方法和思路及遇到的问题是本人在练习过程中遇到的,在这里分享给大家.为了更好的熟悉sql语句,希望大家在自己做练习的时候,可以用 ...

最新文章

  1. php删除修改例,PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
  2. 孟天广做客社科大讲堂 阐释计算社会科学发展与文理交叉
  3. Maven工程的分类
  4. MySQL基础之数据类型介绍
  5. 教程 打造OS X Mavericks原版 EFI Clover 引导安装
  6. 谈一下关于CQRS架构如何实现高性能
  7. 《scikit-learn》数据预处理与特征工程(三)特征选择
  8. 报告解读下载 | 数据库的未来和“十四五”数据库发展趋势与挑战
  9. P - C语言实验——某年某月的天数
  10. linux运行完脚本 命令失效,linux – Systemd退出bash脚本,执行导致失败的命令,而不是继续...
  11. Flash停更!「偷菜」的快乐还记得吗?
  12. python处理can协议文件_二、如何解决:python:Can't reopen .pyc file
  13. 5星|戴蒙德《为什么有的国家富裕,有的国家贫穷》:为什么有的国家能发展出好制度...
  14. oracle如何新建用户
  15. 做私域最常犯的四个错误
  16. wheel文件安装以及换源安装
  17. 80句励志名言名句-用来时刻鞭策自己
  18. (七)JMockit 的MockUp+@Mock--基础篇
  19. linux脚本加密 upx,#加解密#LinuxShell加密解密方法(shc/gzexe/UPX)
  20. 程序员面试题目:请实现一个函数,把字符串中的每个空格替换成20。

热门文章

  1. oracle存储过程实验报告总结,Oracle存储过程总结(一、基本应用)
  2. 升级更新:Oracle关于DB Link在2019年升级的10g版本兼容性
  3. 自治时代:Oracle 公有云离我们很近,自治数据库离我们还远
  4. 手把手带你基于嵌入式Linux移植samba服务
  5. 微服务分布式架构中,如何实现日志链路跟踪
  6. 一个企业用电有多浪费?90后开发者大显身手,让每度电从此更“聪明”!
  7. 2020HC大会上,这群人在讨论云原生…
  8. 多云架构下,JAVA微服务技术选型实例解析
  9. 【华为云技术分享】《跟唐老师学习云网络》—我的网络概念
  10. java map 缓存池_map端合并(分布式缓存)