避免使用字符串类型作为标识列: 消耗空间. 比数字类型慢(MyISAM 中对字符串使用压缩索引,查询会慢). 对于 MD5().UUID() 生成的随机字符串,这些值会分布在很大的空间内,导致 insert.select 语句变慢: insert 会随机写入不同位置,使得 insert 慢:导致页分裂.磁盘随机访问.对于聚簇索引引擎还会产生索引碎片. select 会慢,逻辑上相邻的行分布在磁盘.内存的不同位置. 随机值会使缓存效果变差,缓存的访问局部性原理失效:内存太小,导致频繁刷新.不命中.…
摘自 "高性能mysql" 对于一些字符串类型较长的字段搜索时, 可以参考如下方法…
操作的表: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-common-ligatures } select * from test_max_min; +----+----------+-------------------+ | id | area     | best_history_data | +----+----------+-----…
字符类型包括: CHAR VARCHAR BINARY VARBINARY BLOB TEXT ENUM SET CHAR 与 VARCHAR CHAR(m) m 取值范围 0-255.列宽固定,存储时字符串右边会补空格,取出时自动去掉空格,除非开启了 PAD_CHAR_TO_FULL_LENGTH. 对于值未超出的情况,VARCHAR 在存储及查询时皆会完整保留末尾的空格字符. VARCHAR(m) m 取值范围 0~65535,不定长度,根据存储的值而定,但上限为 m.存储时,会在值的前面预…
排序字段+0或者*1,类似  Java 把 其他类型转换成字符串 比如 +“”: 一.对普通数字字符串字段排序 -- 方式一 SELECT * FROM xxxxxx WHERE STATUS ' ORDER BY ORDER_NUMBER DESC -- 方式二 SELECT * FROM xxxxx WHERE STATUS ' ORDER BY ORDER_NUMBER DESC 二.对double字段或其他带小数的金额字段排序 1.利用sql语句中关键字的执行顺序先在select后将字符…
CHAR(M) 分配固定长度的空间建(字节) VARCHAR(M)按照实际长度存储(占用的字节数是实际的长度加上1或者2)当M的值小于255时,加一.    当M的值大于255时,小于65532时,加二.…
SQLServer数据库自增长标识列的更新修改操作方法在日常的sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号.比如文章编号.记录序号等等.自增长的标识列的引用很大程度上方便了数据库程序的开发,但是有时这个固执的字段类型也会带来一些麻烦. 一.修改标识列字段的值:(在执行insert时,将ID手动的设置成想要的值)有时,为了实现某个功能,需要修改类型为Identity自增长类型的字段的值,但由于标识的类型所限,这种操作默认是不允许的.比如,目前数据库有…
写在前面的话:在日常的Sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号.比如文章编号.记录编号等等.自增长的标识很大程度上方便了数据库程序的开发,但有时候这个固执的字段类型也会带来一些麻烦. 1.修改标识列的字段值 有时为了实现某些功能,需要修改类型为identity自增长类型的字段的值,但由于标识列的类型所限,这种操作默认是不允许的.比如目前数据库有5条正常添加的数据,此时删除2条,那么如果再添加数据时,自增长的标识列会自动赋值为6,可这时如果想在插…
1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都是数值. 系统将数值型分为整数类型和浮点数类型. 2.1 整数类型 在SQL中因为更多的要考虑如何节省磁盘空间,所以系统将整数类型又细分成了5类: tinyint 迷你整型,使用一个字节存储,表示的状态最多为256种. smallint      小整型,使用2个字节存储,表示的状态最多为65536…
如果MySQL数据库里面的某个时间用的是varchar(或者是char)类型的,这样可以方便系统使用而不用随便转换时间类型来适应数据库版本的不同,当要把取出的字段转换成时间类型的时候,可以按如下方法操作: (1)str_to_date 这个函数可以把字符串时间完全的翻译过来 SQL语句可以这样写: SELECT str_to_date(`tablename`.`eventTime`,'%Y-%m-%d %H:%i:%s') from tablename 数据库中eventTime的类型是VARC…