随笔分类 -  数据库

摘要:允许NULL值的字段,数据库在进行比较操作时,会先判断其是否为NULL,非NULL时才进行值的必对。因此基于效率的考虑,所有字段均不能为空,即全部NOT NULL;对于变长表,由于记录大小不同,在其上进行许多删除和更改将会使表中的碎片更多。需要定期运行OPTIMIZE TABLE以保持性能。而定长表... 阅读全文
posted @ 2014-08-11 00:13 编程思想家 阅读(363) 评论(0) 推荐(0)
摘要:SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME='freight'; 阅读全文
posted @ 2014-06-24 11:48 编程思想家 阅读(144) 评论(0) 推荐(0)
摘要:1,配置开启Linux:在mysql配置文件my.cnf中增加log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)long_query_time=2 (记录超过的时间,默认为10s)log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)log-long-format (如果设置了,所有没有使用索引的查询也将被记录)Windows:在my.ini的[mysqld]添加如下语句:log-slow- 阅读全文
posted @ 2013-12-30 11:15 编程思想家 阅读(164) 评论(0) 推荐(0)
摘要:语法PREPARE statement_name FROM sql_text /*定义*/ EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/ DEALLOCATE PREPARE statement_name /*删除定义*/ 例mysql> PREPARE prod FROM "INSERT INTO examlple VALUES(?,?)"; mysql> SET @p='1'; mysql> SET @q='2'; mysql> 阅读全文
posted @ 2013-08-23 17:16 编程思想家 阅读(339) 评论(0) 推荐(0)
摘要:两者在手册中的说明:DECLAREvar_name[,...]type[DEFAULTvalue]这个语句被用来声明局部变量。要给变量提供一个默认值,请包含一个DEFAULT子句。值可以被指定为一个表达式,不需要为一个常数。如果没有DEFAULT子句,初始值为NULL。局部变量的作用范围在它被声明的BEGIN … END块内。它可以被用在嵌套的块中,除了那些用相同名字声明变量的块。设置用户变量的一个途径是执行SET语句:SET @var_name=expr[, @var_name=expr]可以先在用户变量中保存值然后在以后引用它;这样可以将值从一个语句传递到另一个语句。用户变量与连接有关。也 阅读全文
posted @ 2013-08-23 17:06 编程思想家 阅读(660) 评论(0) 推荐(0)
摘要:linux平台监控mysql执行的sql语句为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句,可以在/etc/mysqld中添加如下:log =/usr/local/mysql/var21005/mysql.log就可以使用:tail -f mysql.log来监控了 www.2cto.com 如果需要监控慢查询可以添加如下内容:log-slow-queries = /usr/local/mysql/var21005/slowquery.loglong_query_time = 1 阅读全文
posted @ 2013-07-25 20:32 编程思想家 阅读(309) 评论(0) 推荐(0)
摘要:仅仅是利用id:explain SELECT * from customer where id in(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)结果:利用了子查询:explain SELECT id,`name` FROM customer where id IN(select DISTINCT(customerid) from searchaccount WHERE kfuid=126 AND iskf=1) LIMIT 20结果:不用子查询,达到同样的效果:explain select DISTINCT(customerid) a 阅读全文
posted @ 2012-10-12 14:46 编程思想家 阅读(1026) 评论(0) 推荐(0)
摘要:Infobright的总体构架图如下: 如上图所示,Infobright采用了和MySQL一致的构架,分为两层。上层是服务及应用管理,下层是存储引擎。Infobright的默认存储引擎是brighthouse,但是Infobright还可以支持其他的存储引擎,比如MyISAM、MRG_MyISAM、Memory、CSV。Infobright通过三层来组织数据,分别是DP(Data Pack)、DPN(Data Pack Node)、KN(Knowledge Node)。而在这三层之上就是无比强大的知识网络(Knowledge Grid)。 数据块(DP)是存储的最低层,列中每64K个... 阅读全文
posted @ 2012-09-13 18:00 编程思想家 阅读(156) 评论(0) 推荐(0)
摘要:==========mysql 导出==========最常见的mysqldump使用可能制作整个数据库的一个备份:mysqldump --opt database > backup-file.sql--opt同--quick --add-drop-table --add-locks --extended-insert --lock-tables。--add-locks在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。--add-drop-table在每个create语句之前增加一个drop table。-e, --exten 阅读全文
posted @ 2012-05-16 11:30 编程思想家 阅读(176) 评论(0) 推荐(0)