德州网站优化

德州,简称“德”,古称安德,山东省辖地级市,国务院批复确定的中国冀鲁交界地区的交通枢纽和经济中心、鲁西北重要的工贸城市、山东省新能源产业基地。
[1] [64] 截至2019年,全市下辖2个区、7个县、代管2个县级市,全市总面积10356平方千米。
[2] [44] 根据第七次人口普查数据,截至2020年11月1日零时,德州市常住人口为5611194人。
[43] 德州地处中国华东地区、山东西北部、黄河下游冲积平原,是山东的西北大门,北临沧州,南接济南、聊城,西邻衡水,东连滨州。德州位于黄河冲积平原,历史上境内曾有两次黄河大迁徙,上千次决口,造就了西南高、东北低的地形,基本气候特点是季风影响显著,四季分明、冷热干湿界限明显。
德州是中国太阳城、中国功能糖城、中国优秀旅游城市以及国家交通运输主枢纽城市之一,处于环渤海经济圈、京津冀经济圈、山东半岛蓝色经济区以及黄河三角洲高效生态经济区交汇区域。德州地方特产众多,其中德州扒鸡、保店驴肉、乐陵金丝小枣被称为德州三宝。
2016年9月,德州入选“中国地级市民生发展100强”之一。德州市被列为第一批国家新型城镇化综合试点地区。2018年重新确认国家卫生城市(区)。
[3] 2020年10月,被评为全国双拥模范城(县)。
2021年,德州实现地区生产总值3488.72亿元,同比增长8.3%。
德州网站优化
删除表test,并释放空间,将test删除的一干二净。
TRUNCATE:
删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。
DELETE:
1、删除指定数据
删除表test中年龄等于30的且国家为US的数据
2、删除整个表
仅删除表test内的所有内容,保留表的定义,不释放空间。
zzt
zhu***nting1994@126.com
沉迷学习无法自拔
179***6708@qq.com
truncate table 命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与 delete from 数据表的删除全部数据表记录不一样,delete 命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而 truncate 命令删除的数据是不可以恢复的。
相同点
truncate 和不带 where 子句的 delete, 以及 drop 都会删除表内的数据。
不同点:
1. truncate 和 delete 只删除数据不删除表的结构(定义) ,drop 语句将删除表的结构被依赖的约束(constrain), 触发器(trigger), 索引(index); 依赖于该表的存储过程/函数将保留, 但是变为 invalid 状态。
2.delete 语句是 dml, 这个操作会放到 rollback segement 中, 事务提交之后才生效; 如果有相应的 trigger, 执行的时候将被触发。 truncate, drop 是 ddl, 操作立即生效, 原数据不放到 rollback segment 中, 不能回滚。 操作不触发 trigger。
3.delete 语句不影响表所占用的 extent, 高水线(high watermark)保持原位置不动。 显然 drop 语句将表所占用的空间全部释放 。 truncate 语句缺省情况下见空间释放到 minextents 个 extent, 除非使用 reuse storage; truncate会将高水线复位(回到最开始)。
4.速度:一般来说: drop > truncate > delete 。
5.安全性: 小心使用 drop 和 truncate, 尤其没有备份的时候。否则哭都来不及。
使用上, 想删除部分数据行用 delete, 注意带上 where 子句。 回滚段要足够大。
想删除表, 当然用 drop。
想保留表而将所有数据删除。如果和事务无关, 用 truncate 即可。 如果和事务有关, 或者想触发 trigger, 还是用 delete。
如果是整理表内部的碎片, 可以用 truncate 跟上 reuse stroage, 再重新导入/插入数据。
沉迷学习无法自拔
179***6708@qq.com
yujian_6666
105***0957@qq.com
相同点:drop、delete、truncate 都是删除表的内容。
不同点:执行速度:yujian_6666
105***0957@qq.com
delete:删除表的内容,表的结构还存在,不释放空间,可以回滚恢复;
drop:删除表内容和结构,释放空间,没有备份表之前要慎用;
truncate:删除表的内容,表的结构存在,可以释放空间,没有备份表之前要慎用;
夜夜夜夜月
zwg***1@163.com
参考地址
mysql 中可以通过参数 sql_safe_updates 来限制 update/delete,防止全表更新或删除。
以下 3 种情况在采用此参数的情况下都不能正常进行操作:
这三种情况下都会抛出异常,无法执行。
下面是 sql_safe_updates 变量为 0 和 1 时的取值说明:
sql_safe_updates 有两个取值 0 和 1, 即 off 和 on。
sql_safe_updates = 1 (或 sql_safe_updates = on ) 时,不带 where 和 limit 条件的 update 和 delete 操作语句是无法执行的,即使是有 where 和 limit 条件但不带 key column 限制条件的 update 和 delete 也不能执行。
sql_safe_updates = 0 (或 sql_safe_updates = off ) 时,无 where 和 limit 条件的 update 和 delete 操作将会顺利执行。
很显然,在一般的 mysql 中此参数的默认值是 1。
在 sql_safe_updates = on 时,采取删除或更新全表时抛出的错误码为 1175。
夜夜夜夜月
zwg***1@163.com
参考地址
1: 没有加where条件的全表更新操作;
2: 加了 where 条件字段,但是 where 字段没有走索引的表更新;
3: 全表 delete 没有加 where 条件或者 where 条件没有走索引。
hunwu
239***0142@qq.com
参考地址
安装模式设置:
如果设置了 sql_safe_updates=1,那么 update 语句必须满足如下条件之一才能执行成功:
delete 语句必须满足如下条件之一才能执行成功。
1) 使用 where 子句, 并且 where 子句中列必须为 prefix 索引列。
2) 同时使用 where 子句和 limit (此时 where 子句中列可以不是索引列)。
1) 使用 where 子句, 并且 where 子句中列必须为 prefix 索引列。
2) 使用 limit。
3) 同时使用 where 子句和 limit (此时 where 子句中列可以不是索引列)。