随笔分类 - DB
摘要:这周的部门周会,分享的同事说的是数据库优化相关,过程中,一个同事跟我讨论左连接查询,是不是笛卡尔积。我第一反应,左连接肯定不是笛卡尔积啊,左连接是以左表为准,左表有m条记录,则结果集是m条记录(哈哈,如果是你,你是不是也是这样的反映),同事听了,说内连接...
阅读全文
摘要:SELECT ADDDATE(y.first, x.d - 1) as dFROM ( SELECT 1 AS d UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5...
阅读全文
摘要:这是一篇超级干的干货,尤其是MVCC部分,很烧脑,挑战一下吧。1丢失的数据旺财是数据库村的一个程序, 小强也是。数据库村有个特点, 很多数据支持共享操作,多个程序可以同时读写,他们俩经常会为了读写同一个数据, 争夺的不可开交。这一天,当旺财和小强对同一个银行账户A进行...
阅读全文
摘要:在使用navcat的窗口查询mysql的数据时,一直出现 “Commands out of sync; you can't run this command now? ”,我把sql改为最简单的 select 1,居然也是报这个错误。突然想到,上一个查询 out...
阅读全文
摘要:前序文章:《互联网数据库“跨库分页”架构技术实践》问:目前准备做数据库水平切分,需要注意什么关键问题?目前了解需要避免跨库事务,请老师指点。答:需要注意分库patition key的选取,要保证两个均衡:数据量的均衡,请求量的均衡。库后,需要注意分之前用SQL满足的需...
阅读全文
摘要:场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY...
阅读全文
摘要:共享锁:若事务T在A对象上加上共享锁S,则其他事务不可修改A对象,但是,可以查询A对象、可以在A对象上加共享锁(不可加排他锁(X)) 此时,事务T也不可以对A对象进行修改,其他事务在T提交之前也不可以对A对象进行修改。 共享锁用法:lock in sha...
阅读全文
摘要:事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下:1. 原子性(Atomic) 一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。实现事务的原子性,要支持回滚操作,在某个操作失败后,回滚到事务执行之前的状态。 ...
阅读全文
摘要:数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来。接触了很多的客户发现90%客户的运维策略都不是很完善。本篇就分享一些常规的运维脚本,本篇没有涉及到的或不足的也请大家留言无私贡献深藏多年...
阅读全文
摘要:当你需要保存日期时间数据时,一个问题来了:你应该使用 MySQL 中的什么类型?使用 MySQL 原生的 DATE 类型还是使用 INT 字段把日期和时间保存为一个纯数字呢?在这篇文章中,我将解释 MySQL 原生的方案,并给出一个最常用数据类型的对比表。我们也将对一...
阅读全文
摘要:问题: 一张表 表里有两个字段 剧场 月份 要求按照图片在控制台输出每个月每个剧场的总数 (剧场数量不限 月份1——12月) 剧场是剧场名称,月份存的是演出的时间yyyy-MM-dd hh:mm:ss分析了下,这个问题,主要有2个点,解决了这2个点,就能...
阅读全文
摘要:”模糊查询,前置百分号不走索引;后置百分号才会走索引”这可能是大部分人都知道的“常识”,然而,这周在做SQL优化的时候,无意中碰到了意外情况–模糊查询,前置百分号也走索引!举个栗子 表: TEST_USER 索引:INDEX_MOBILECREATE TABLE ...
阅读全文
摘要:最近出现一个很奇怪的MySQL问题,使用不同select语句查询全部数据集居然得到不同的记录数。select * 得到4条记录,select 字段得到的是3条记录。 具体问题可以看下面的查询结果:[sql] view plainmysql> select * ...
阅读全文