1、Drop、Truncate、Delete的区别
1、Drop: 删除数据内容和定义,并释放空间
2、Truncate: 删除数据内容、释放空间,但不删除定义,并且重新设置索引ID从1开始,不触发Delete触发器,不能Rollback,且不能携带条件删除。
3、 Delete: 删除数据内容、不释放空间、不删除定义、可以携带条件,可以进行Rollback,效率低于Truncate,因为它相当于一行行的删除。
2、为什么varchar默认长度是255
1、 mysql要求varchar一个行的定义长度不能超过65535bytes,这个大小包括了字段占用的空间在内,text和blob等大字段除外(注: 单行最大限制指的就是一张表中所有字段的所设置的长度总和不得超过65535字节)
2、 InnoDB存储引擎的表索引的前缀长度最长是: 767字节,如果需要创建索引,不能超过这个长度。而utf-8编码时: 255 * 3(一个字符占3个字节) = 765字节,恰恰是能够建立索引的最大值。单列索引的长度的限制(5.6里面默认不能超过767bytes,5.7不超过3072bytes)
3、总结: varchar(255)不是最优的字符长度,最优的需要按照具体情况来,但是这个长度可以保证你能少出错的一个不错的默认值
相关文章:
北宋的雁门关在哪里?位置非常的重要,是北宋的生死存亡之地 06-16
宋代北宋有哪些比较稀少的古钱币呢? 06-16
宋朝第八位皇帝是谁?人们记住了他是因为他的绘画 06-15
明朝服饰发型是什么样的?民间女子和贵妇其实差别很大 06-15
盘点唐朝的7位传奇女人,不仅有女皇帝,而且还有个女宰相 06-14
从历史视角看,北宋“积贫积弱”吗? 06-14
各个朝代的诗人 《古代诗人名录》10856位大全集 卷一(1—900位) 06-13
宋朝出名的皇帝有哪些?北宋九位皇帝排名,赵匡胤无悬念排第一,著名书法家排倒数第二 06-13
宋朝的中央制度:为了掌控国家,宋朝采取了哪些制度? 06-12
一代诗宗——宋代诗人杨万里 06-12