优惠券明细表 CREATE TABLE `coupon_detail` (`coup_id` int(11) NOT NULL AUTO_INCREMENT,`act_code` char(6) NOT NULL DEFAULT ‘‘ COMMENT ‘活动编号‘,`coup_code` char(6) NOT NULL DEFAULT ‘‘ COMMENT ‘优惠券编码‘,`coup_user_id` int(11) NOT NULL DEFAULT ‘0‘ COMMENT ‘领取券用户id‘,PRIMARY KEY (`coup_id`),UNIQUE KEY `coup_code_idx` (`coup_code`) USING BTREE COMMENT ‘优惠券编码唯一索引‘,KEY `coup...
8)、ref 如果是使用的常数等值查询,这里会显示const,如果是连接查询,被驱动表的执行计划这里会显示驱动表的关联字段,如果是条件使用了表达式或者函数,或者条件列发生了内部隐式转换,这里可能显示为func 9)、rows 这里是执行计划中估算的扫描行数,不是精确值 10)、extra 这个列可以显示的信息非常多,有几十种,常用的有 A:distinct:在select部分使用了distinc关键字 B:no tables used:不带from字句的查询或者Fro...
原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。 一致性 事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部...
http://blog.csdn.net/dong976209075/article/details/8802778 经验总结: Python使用MySQLdb数据库后,如使用多线程,每个线程创建一个db链接,然后再各自创建一个游标cursor,其中第一个线程读一个表中数据为空,第二个写入该表一条数据并提交,第一个线程再读该表数据将仍然无法读出。和多数据库的事务级别应该有关系;还可以在第一个读之前先插入一条,将能够读出第二个线程写入并提交过的数据。 转载自:http://blo...
四、错误信息以及解决方案 Scanning dependencies of target sqladvisor[100%] Building CXX object CMakeFiles/sqladvisor.dir/main.cc.oLinking CXX executable sqladvisor/usr/bin/ld: cannot find -lperconaserverclient_rcollect2: ld returned 1 exit statusmake[2]: *** [sqladvisor] Error 1make[1]: *** [CMakeFiles/sqladvisor.dir/all] Error 2make: *** [all] Error 2##由于缺少percona的库文件libperconaserverclient...
脏读:当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。不可重复读:是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两 次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称...
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。Read Committed(读取提交内容) ...
port = 3306 #客户端端口号 socket = /data/3306/mysql.sock #socket文件是linux/unix系统特有的,用户在该环境下的客户端连接可以不通过tcp/ip网络,而直接使用socket文件连接。[mysql]no-auto-rehash #仅仅允许使用键值的update和deletes[mysqld] #mysqld组包括了mysqld服务启动的参数,它涉及的方面很多,其中包括mysql的目录和文件,通信、网络、信息安全、内存管...
> show full processlist; +---------+-------------+--------------------+----------------+-------------+-------+-----------------------------------------------------------------------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +----...
1. Slave_IO_State 这里显示了当前slave I/O线程的状态(slave连接到master的状态)。状态信息和使用show processlist | grep "system user"(会显示两条信息,一条slave I/O线程的,一条是slave SQL线程的)显示的内容一样。 slave I/O线程的状态,有以下几种: 1) waiting for master update 这是connecting to master状态之前的状态 2) connecting to master I/O线程正尝试连接到master ...
* from student s where s. classid = (select id from classes where classno=‘2017001‘);2.2 union / union resultexplain select * from student where id = 1 union select * from student where id = 2;2.3 dependent union/dependent subqueryexplain select * from student s where s.classid in (select id from classes where classno=‘2017001‘ union select id from classes where classno=‘2017002‘);2.4 derive...
最近关于数据库故障出现的问题较多,不论大小公司对数据的备份要求都很高,但对校验数据备份的有效性要求更为迫切,很多公司对于自动备份和还原都已经形成体系,但对于还原后的备份有效性校验可能都不太完善,而且目前网上也没有较为完善的检验机制(可能我没找到)。对数据库备份的有效性校验的方法或样例选择,直接关系到备份数据的质量指标。本文将分享我做的一个设计,此设计是直接采用线上执行的SQL提取出select,包括复杂joi...
阅读 178 评论 0作者:马哥Linux运维-Robin血的教训,事发经过就不详述了。直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程:1. 找到binlog恢复数据的前提是必须开启Mysql的binlog日志,如果binlog日志没开启,请忽略此篇文档。binlog日志是否开启可以查看Mysql配置文件。日志位置一般在/var/lib/mysql目录或者编译安装的date目录下。也可登录Mysql用命令查看。# cat /etc/...
character-set-server=utf8#服务器端字符集 collation-server=utf8_bin#字符集的校队规则,这里是个坑,新手得小心#默认***_ci,ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; ***_bin是二进制数据编译存储,大小写敏感, lower_case_table_names = 0#默认为0,数据库、表名大小写敏感 back_log = 600 #在MYSQL暂时停止响应新请求之前,短时间内的多少个请求可以被存在堆栈中。如果系统在短时...
Query OK, 0 rows affected (0.00 sec) mysql> exit Bye [mysql@db3 ~]$ mysql -uz1 -p123 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 21671 to server version: 5.1.9-beta-log Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer. mysql> use sakila Database changed mysql> insert into emp values(‘bzshen‘,‘2005-04-01‘,3000,‘3‘); Query OK, 1 row af...