首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql存储手机号什么不用bigint?

在使用utf8字符编码的情况下: char(11) 用来存储手机号,会占用11 bytes bigint 用来存储手机号,会占用 8 bytes varchar(11)用来存储手机号,会占用 12...因此,为什么不使用bigint存储手机号呢? 手机号一般是要加索引的吧。。bigint你用了like索引就失效了 1.首先,手机号的本质是字符串而不是数字,只是恰巧长得像数字而已。...5.手机号可能有-(座机),用int存不了。...,交给数字类型比较好,所有才会有这样的想法,int对比varchar总该有性能提升吧;当然这样做,也有局限性: 实现起来变麻烦了,不过对于13亿数据量来说本身就应该分表了,一张表200w数据后就可能操作起来显著变慢...那int实现的扩展性将是致命的; 分析下来,int或许有些许性能优势,但其带来的复杂度和扩展上的劣势让我根本都不必动手,就打消了念头了;唉,也许这就是为什么大多数公司选择varchar存储手机号的原因吧

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql中的enum是什么类型_数据库枚举类型什么

    什么使用枚举 限定值的取值范围,比如性别(男,女,未知)等。...枚举类型使用陷阱 超级不推荐在mysql中设置某一字段类型为enum,但是存的值为数字,比如‘0’,‘1’,‘2’; 解释1:你会混淆,因为enum可以通过角标取值,但它的角标是从1开始,对于不熟悉这个字段的人这里会出错...“空”(不是null) 解释3:enum类型对于php等弱语言类型的支持很差,弱语言类型打引号和不打引号的值可能是同一类型,但是对于mysql中enum类型的字段来说,那就不一定是一回事了 结论:总之,...不要拿mysql的enum类型取存一些数字;如果你一定要使用这个字段去存数字,请把这个字段定义为int,然后在java代码中使用枚举类做一个对于这个字段值范围的一个限定!...; * Mysql中枚举类型Color定义取值的顺序是RED、GREEN、BLUE,因此,当这三个取值持久化到数据库表时,取值分别是0、1、2; * 意思就是我们这里存往数据库的数据是

    4.3K20

    mysql数据库double类型_timestamp是什么数据类型

    1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m)...int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。...2、浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 16...decimal(m,d) 参数m<65 是总个数,d<30且 d 4、字符串(char,varchar,_text) MySQL数据类型 含义 char(n) 固定长度,最多255个字符 varchar...6.日期时间类型 MySQL数据类型 含义 date 日期 ‘2008-12-2’ time 时间 ’12:25:36′ datetime 日期时间 ‘2008-12-2 22:06:44’ timestamp

    2.5K20

    MySQL 索引总结

    1、索引是做什么的? 索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。...大多数MySQL索引(PRIMARY KEY、UNIQUE、INDEX和FULLTEXT)在B树中存储。只是空间列类型的索引使用R-树,并且MEMORY表还支持hash索引。...=则不行 6、什么样的字段不适合建索引? 一般来说,列的值唯一性太小(如性别,类型什么的),不适合建索引(怎样叫太小?...= 对列进行函数运算的情况(如 where md5(password) = "xxxx")WHERE index=1 OR A=10存了数值的字符串类型字段(如手机号),查询时记得不要丢掉值的引号,否则无法用到该字段相关索引...)btw,千万不要尝试用int来存手机号(为什么

    53430

    mysql什么类型数据库_MySQL是一种

    那么什么是数据库? 根据定义,数据库只是一个结构化的数据集合。 数据本质上相互关联,例如,产品属于产品类别并与多个标签相关联。这就是为什么要使用关系数据库。...MySQL什么? My是MySQL的联合创始人 – Monty Widenius 的女儿的名字。MySQL是My和SQL的组合,这就是MySQL命名的由来。...MySQL的官方网址: http://www.mysql.com/ ,MySQL的社区版本下载地址为: http://dev.mysql.com/downloads/mysql/ ,在写本文时,当前的MySQL...此外,MySQL是可靠,可扩展和快速的。 如果您开发网站或Web应用程序,MySQL是一个不错的选择(强烈建议使用)。...MySQL是LAMP堆栈的重要组成部分,包括Linux,Apache,MySQL和PHP。

    2.7K10

    MySQL 索引必须了解的几个重要问题

    本文讲述了mysql索引必须了解的几个重要问题。分享给大家供大家参考,具体如下: 1、索引是做什么的? 索引用于快速找出在某个列中有一特定值的行。...大多数MySQL索引(PRIMARY KEY、UNIQUE、INDEX和FULLTEXT)在B树中存储。只是空间列类型的索引使用R-树,并且MEMORY表还支持hash索引。...=则不行 6、什么样的字段不适合建索引? 一般来说,列的值唯一性太小(如性别,类型什么的),不适合建索引(怎样叫太小?...= 对列进行函数运算的情况(如 where md5(password) = "xxxx") WHERE index=1 OR A=10 存了数值的字符串类型字段(如手机号),查询时记得不要丢掉值的引号,...int来存手机号(为什么

    70210

    要想深入理解mysql索引?这16个点你必须要了解!

    因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。 建立索引会占用磁盘空间的索引文件。 1、索引是做什么的? 索引用于快速找出在某个列中有一特定值的行。...大多数mysql索引(PRIMARY KEY、UNIQUE、INDEX和FULLTEXT)在B树中存储。只是空间列类型的索引使用R-树,并且MEMORY表还支持hash索引。...=则不行 6、什么样的字段不适合建索引? 一般来说,列的值唯一性太小(如性别,类型什么的),不适合建索引(怎样叫太小?...= 对列进行函数运算的情况(如 where md5(password) = "xxxx") WHERE index=1 OR A=10 存了数值的字符串类型字段(如手机号),查询时记得不要丢掉值的引号,...int来存手机号(为什么

    69400

    什么MySQL锁?有哪些锁类型?如何使用?

    mysql中,写锁是优先于读锁的!...max_write_lock_count和low-priority-updates 行锁 InnoDB和MyISAM有两个本质的区别:InnoDB支持行锁、InnoDB支持事务 InnoDB实现了以下两种类型的行锁...只不过隐藏了加锁细节,事务的隔离级别有4种: Read uncommitted:会出现脏读,不可重复读,幻读 Read committed:会出现不可重复读,幻读 Repeatable read:会出现幻读(Mysql...101(这些记录并不存在)的“间隙”加锁 InnoDB使用间隙锁的目的有2个: 为了防止幻读(上面也说了,Repeatable read隔离级别下再通过GAP锁即可避免了幻读) 满足恢复和复制的需要:MySQL...的恢复机制要求在一个事务未提交前,其他并发事务不能插入满足其锁定条件的任何记录,也就是不允许出现幻读 死锁 并发的问题就少不了死锁,在MySQL中同样会存在死锁的问题 锁总结 表锁其实我们程序员是很少关心它的

    1.4K20

    mysql数据库0.00是空么_mysql什么类型数据库

    数据库分类 关系型——SQL MySQL,Oracle,Sql Server,DB2,SQLlite 特点:通过表和表之间,行和列之间的关系进行数据存储 非关系型——NoSql(not only...sql) Redis,MongDB 非关系型数据库,对象存储,通过对象的自身的属性来决定 DBMS-数据库管理系统 数据库的管理软件——用于管理数据,维护,获取 MySql本质是一个数据库管理系统...,是最好的关系型数据库管理系统(RDBMS)应用软件之一 MySQL 关系型数据库管理系统,开源,把数据保存在不同的表中而不是将所有数据放在一个大仓库内,使用SQL语言 适用于中小型网站,或大型网站——...,内容如下 [mysqld] basedir=D:\cs_AI\mysql-8.0.27\ datadir=D:\cs_AI\mysql-8.0.27\data\ port=33061 skip-grant-tables...user=mysql 启动mysql——net start mysql 通过命令行进入mysql——mysql -u root -p (-u后面加用户名可以有空格,-p后面加密码,不能有空格

    3.5K40

    MySQL中数值类型中smallint、mediumint等区别是什么

    MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型 数值类型中又可以分为整型、浮点型,或者可以说为严格数值数据类型以及近似数值数据类型 分别为 tinyint(m)、smallint...8 个字节,用于极大整数,带符号的范围是-9223372036854775808 到 9223372036854775807,无符号的范围是 0 到 18446744073709551615 m 是什么意思...比如经常用到的 int(11),这里是 11 是什么意思,只能存 11 位数吗?...当然不是 这个长度 11 并不代表允许存储的宽度,而是为了告诉 MySQL 数据库,我们这个字段的存储的数据的宽度为 M 位数, 当然如果你不是 M 位数(只要在该类型的存储范围之内)MySQL 也能正常存储...任何个人或团体,未经允许禁止转载本文:《MySQL中数值类型中smallint、mediumint等区别是什么》,谢谢合作!

    2.5K20

    小白学习MySQL - varchar类型字段为什么经常定义成255?

    很多时候我们看到一些表字符串类型的字段定义为varchar(255),开始以为varchar只能定义为255这个长度值,其实不然。...官方文档所说,varchar有效的最大长度取决于行的容量,以及用的字符集,整行的所有列的定义长度不能超过65535字节(bytes),text、blob等大字段类型除外, P.S. https://dev.mysql.com...一般情况下,我们用的是InnoDB引擎,utf8则是常用字符集,因此varchar类型字段定义为255比较合适。...小白学习MySQL, 《小白学习MySQL - 变通创建索引的案例一则》 《小白学习MySQL - “投机取巧”统计表的记录数》 《小白学习MySQL - 一次慢SQL的定位》 《小白学习MySQL -...TIMESTAMP类型字段非空和默认值属性的影响》 《小白学习MySQL - 聊聊数据备份的重要性》 《小白学习MySQL - InnoDB支持optimize table?》

    3.1K10

    Mysql调优你不知道这几点,就太可惜了

    的随机读缓冲区大小 缓存排序索引大小 缓存空闲的线程以便不被销毁 3、优化DB设计 建索引的目的 1)B-Tree 索引 2)Hash 索引 3)什么时候可以建索引 4)什么时候不可以建索引 4、优化架构设计方案...当客户端向服务端发起操作请求的时候,执行过程是这样的: ​ 1、客户端端与Mysql服务端的连接层建立连接,根据请求类型去选择相应的服务层的请求接口。 ?...(如多个手机号。)     临时数据或历史值。(需要将历史数据的主体提出,否则将存在大量冗余。) -建立合适的索引 建索引的目的 加快查询速度。...消除磁盘排序,索引是排序的,走完索引就排序完成 1)B-Tree 索引 ​ B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型 2)Hash 索引 ​ Hash 索引结构的特殊性,其检索效率非常高...3)建了索引性能得到提高 4)区分度高的列可以建索引,比如表示男和女的列区分度就不高,就不能建索引 4)什么时候不可以建索引 1.频繁更新的字段不适合建立索引 2.where条件中用不到的字段不适合建立索引

    95220

    MySQL 类型转换时:为什么索引有时会失效,有时又有效

    然而,当查询中涉及数据类型转换时,索引可能会失效,导致查询性能下降。本文将简要阐述 MySQL 中的类型转换规则,以及 为什么在某些情况下索引会失效,而在另一些情况下索引仍然有效。...MySQL类型转换规则 数据类型优先级:数值类型优先于字符串类型。 比较操作中的转换: 数值与字符串比较:字符串被转换为数值。 字符串与数值比较:同样,字符串被转换为数值。...索引使用:类型转换发生在 列上,索引失效。 结论:索引失效,可能导致全表扫描,查询性能下降。 为什么索引有时失效,有时不失效? 类型转换的位置是关键: 转换在常量值上:索引有效。...MySQL 优化器行为: 在列上进行的任何函数或转换都会导致索引失效,因为索引基于列的原始数据构建。 如何确保索引有效使用? 数据类型匹配: 在查询中使用与列类型一致的常量值。...通过理解 MySQL类型转换规则和索引机制,我们可以编写更高效的 SQL 查询,避免索引失效导致的性能问题。

    18710
    领券