
Database
文章平均质量分 80
slvher
这个作者很懒,什么都没留下…
展开
-
mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
1. 问题背景 InnoDB是新版MySQL(v5.5及以后)默认的存储引擎,之前版本的默认引擎为MyISAM,因此,低于5.5版本的mysql配置文件.my.cnf中,关于InnoDB的配置默认是被注释起来的。在实际使用时,发现不少人只是把mysql的配置文件拷贝到需要的路径下后,就启动mysqld,而建表时偏偏又指定engine=innodb。正常情况下,即使不显式配置inn原创 2013-07-27 19:58:27 · 12816 阅读 · 0 评论 -
【Mysql学习笔记】浅析mysql的binlog
最近读一份关于“数据库事务故障恢复"的技术资料,发现对mysql的binlog的认识不够清楚,查阅mysql reference manual有所收获,作为笔记,记录于此。1. What's binlog binlog即binary log,根据mysql文档的说明,binlog包含一系列描述数据库状态变更的"events"(如table create或insert/upda原创 2013-10-10 16:24:49 · 2119 阅读 · 0 评论 -
【读书笔记】《大数据技术与产业发展白皮书》笔记
这几天抽空读了2012.12.20由中国计算机协会发布的《大数据技术与产业发展白皮书》,121页的材料分为6章,分别对应:a. 大数据发展背景,b. 大数据典型应用现状,c. 大数据计算体系现状,d. 大数据IT产业链与生态环境,e. 大数据人才资源,f. 大数据发展趋势与建议六个方面。 个人感觉白皮书相当于一篇大数据方面的综述文献,值得一看。 本笔记是白皮书第原创 2014-01-02 15:48:26 · 3080 阅读 · 0 评论 -
【MySQL笔记】mysql源码安装/配置步骤及支持中文gbk/gb2312编码的配置方法
好久之前的学习笔记,分享出来,希望能帮助到更多初学者备注:本笔记以mysql-5.1.73版本为例进行说明1. mysql源码编译/安装步骤1) 官网下载mysql源码并解压2) cd至源码目录,执行./configure --prefix=/home/slvher/tools/mysql-5.1.73 --with-charset=gbk --with-charset=原创 2014-05-14 19:54:04 · 1879 阅读 · 0 评论 -
【MySQL笔记】last_insert_id()函数使用的注意事项
在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值(一个bigint类型的64-bit值)。听起来似乎很简单易用,但事实上,使用last_insert_id()时有很多注意事项,否则很容易踩到坑。本笔记的主要目的就是罗列这些需要引起注意的细节。原创 2014-12-31 18:59:22 · 43898 阅读 · 4 评论 -
【MySQL笔记】MySQL使用索引的场景及真正利用索引的SQL类型
本笔记主要记录MySQL索引方面的内容,以便为实际工作中SQL优化提供参考。1. 为什么使用索引在无索引的情况下,MySQL会扫描整张表来查找符合sql条件的记录,其时间开销与表中数据量呈正相关。对关系型数据表中的某些字段建索引可以极大提高查询速度(当然,不同字段是否selective会导致这些字段建立的索引对查询速度的提升幅度不同,而且索引也并非越多越好,因为写入时需要更新索引信息)原创 2014-12-29 16:11:29 · 1566 阅读 · 0 评论 -
【MySQL笔记】SQL优化利器 - explain命令的输出格式详解
有MySQL使用经验的同学在实际项目中可能会遇到SQL慢查询的场景,有些场景很容易定位问题所在(如单表操作有慢查询SQL时,仔细check SQL语句通常很容易定位索引问题),而有些复杂业务场景(如多表联合查询几十个字段并做group或sort等操作)下,人工check SQL语句通常很难发现SQL瓶颈所在。这个时候,MySQL提供的explain命令就派上用场了。本笔记主要对explain的原创 2015-02-14 22:12:49 · 2489 阅读 · 0 评论 -
【MySQL实践经验】LOAD DATA INFILE 报错 ERROR 1148 (42000) 或 ERROR 1045 (28000)的解决办法
在部署在不同机器上的mysql数据库之间导数据时,load data infile是一个很高效的命令,从host1的db1.table1通过select ... into outfile将数据导入文本文件,然后通过load data infile将数据导入host2的db2.table1。 使用过程中碰到一些典型问题及并最终找到解决方法。作为笔记,记录与此。1. root用户原创 2013-04-07 19:16:46 · 22752 阅读 · 2 评论 -
如何使用SQLAlchemy库写出防SQL注入的Raw SQL
Python阵营有很多操作数据库的开源库(安装pip后,可以借助”pip search mysql”查看可用的库列表),其中被使用最多的无疑是MySQLdb,这个库简单易上手。其偏底层的特性为开发者提供灵活性的同时,也对不少新手写出的DB操作代码提出了考验,因为它只支持raw sql,容易导致sql注入攻击。鉴于此,很多库提供了ORM接口能力,借助OO思想,数据库中的表被映射为Python的类,类的原创 2015-08-03 17:46:27 · 10269 阅读 · 0 评论