【MySQL】日常小技巧汇总,更新中……
- 创建表时修改自增主键,添加
AUTO_INCREMENT=<Number>,例如:
CREATE TABLE `table_name` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=<Number> DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- 建表后修改自增主键:
ALTER TABLE `table_name` AUTO_INCREMENT = 2;
- 已有的表新增自增主键字段(id):
ALTER TABLE `table_name` ADD COLUMN id BIGINT(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST
- 修改表字段定义
ALTER TABLE `table_name`
CHANGE COLUMN `column1` `column1` VARCHAR(127) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '姓名';
- 清除表数据
TRUNCATE TABLE `table_name`;
PS: 之前没这么清理过数据,速度贼快,酸爽!
- 增加唯一约束
ALTER TABLE `table_name` ADD unique(`column1`, `column2`);
- UPDATE 中有 SELECT 子查询
-- 定义变量,名字 a 可修改,用于查询记录位于第几行
SET @a = 0;
UPDATE user_info x, (
SELECT year_name, open_id, @a := @a + 1 AS rank
FROM user_info
WHERE year_name = 'name'
ORDER BY vote_count DESC, update_time ASC
) tmp
SET x.rank = tmp.rank
WHERE x.year_name = tmp.year_name
AND x.open_id = tmp.open_id
备注:这条语句的目的是定时刷新
user_info表中的 rank 字段,刚开始用的INSERT ON DUPLICATE KEY操作的,之后老大说那样有问题,于是就思索如何优化,经测试这样写可以的。
PS: 之前没写过在UPDATE中使用SELECT子查询,因此记录。
- 查看事务状态
SELECT * FROM information_schema.INNODB_TRX;
- 查看表的状态
SHOW TABLE STATUS;
- 查看 redo log 和 binlog 状态
SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';
SHOW VARIABLES LIKE 'sync_binlog';
PS: 二者值都建议设置为 1.
- 长事务查询
-- 例如,大于 60 秒的
SELECT *
FROM information_schema.innodb_trx
WHERE TIME_TO_SEC(timediff(now(), trx_started)) > 60
【MySQL】日常小技巧汇总,更新中……的更多相关文章
- Ubuntu小点汇总,更新中...
转自:http://blog.csdn.net/zxz_tsgx/article/details/39713627 昨天重装了Ubuntu14.04 64位版,又被一些基础操作/设置给搞怕了,以前安装 ...
- Mysql注入小tips --持续更新中
学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...
- linux常用小技巧(持续更新中)
一.设置固定ip地址1.config查看用的是哪一个网卡这是假设用的是eth12.修改dns地址vim /etc/resolv.confsearch 域名地址nameserver 192.168.3. ...
- fastadmin 后台管理框架使用技巧(持续更新中)
fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...
- mysql优化小技巧
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...
- 网站开发进阶(二十二)HTML UI知识汇总(更新中...)
HTML知识汇总(更新中...) 1.<iframe> 标签 浏览器支持 所有浏览器都支持 <iframe> 标签. 定义和用法 iframe 元素会创建包含另外一个文档的内联 ...
- RS开发中的一些小技巧[不定期更新]
从9月份一直忙到了现在,项目整体的改版工作也完成了十有八九了,有些事情只有你自己真正的做了,你才能明白:哦,原来还可以这个样子,这样做真的好了很多呢,接下来我就分享一些最近遇到的RS开发的一些小技巧, ...
- iOS 开发中使用到的小技巧汇总
国庆即将来到,一个小项目也即将完成,把自己在项目中用的一些小技巧写出来,方便查找. 1,去掉分割线--动画设置透明度alpha //去掉tableView的分隔线: self.tableVie ...
- Python(^^^^^小技巧^^^^^——不定期更新)
偶然想到的小技巧 ''' 交互中对传入函数的参数的数目进行检测 ''' def func(a,b,c): print(a,b,c) s=input(">>>>:&qu ...
随机推荐
- HBase 学习之路(四)—— HBase集群环境配置
一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...
- 计算广告之CTR预测--PNN模型
论文为:Product-based Neural Networks for User Response Prediction 1.原理 给大家举例一个直观的场景:比如现在有一个凤凰网站,网站上面有一个 ...
- SSM(四)Mybatis延迟加载
1.概念 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟加载规则推迟对关联对象的select查询.延迟加载可以有效的减少数据库压力. 2.关联对象的加载时机 ①.直接加载 ...
- 安装Ruby、多版本Ruby共存、Ruby安装慢问题
rbenv rbenv可以管理多个版本的ruby.可以分为3种范围(或者说不同生效作用域)的版本: local版:本地,针对各项目范围 global版:全局,没有shell和local版时使用glob ...
- 机器学习经典算法之Apriori
一. 搞懂关联规则中的几个概念 关联规则这个概念,最早是由 Agrawal 等人在 1993 年提出的.在 1994 年 Agrawal 等人又提出了基于关联规则的 Apriori 算法,至今 Apr ...
- CORS跨域djangosetting.py 配置
1 什么是 CORS? Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略 ...
- python 微信红包生成器
#红包生成思路#200 块钱 10个红包#0-200 的一个轴,随机取9个点,分成10段, 每一段的值表示一个红包的大小 #把输入的 money值 * 100 拿到的数值就是分, 不用再考虑单位是元的 ...
- Yii basic 模板支持连接多数据库
1.首先修改db配置文件,修改格式如下: return [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:hos ...
- set.contains()分析
先看一段代码 Set s = new HashSet(); List<String> list = new ArrayList<>(); list.add("a&qu ...
- 产品经理人的持续交付和DevOps实践
如果你正处于下列情形中 ,那这篇文章是为你准备的: 你目前身处技术行业,你是产品经理,并且,你明白特性分支是什么,CD代表什么,DevOps文化是什么样子的. 或者,你已经在实施敏捷,团队每周都会与您 ...