随笔分类 - MySQL
摘要:1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可...
阅读全文
摘要:一、概述当 MySQL的总记录数超过了100万后,会出现性能的大幅度下降吗?答案是肯定的,但是,性能下降>的比率不一而同,要看系统的架构、应用程序、还有>包括索引、服务器硬件等多种因素而定。当有网友问我这个问题的时候,我最常见的回答>就是:分表,可以根据id区间或者时间先后顺序等多种规则来分表。分表...
阅读全文
摘要:(参考:http://baike.baidu.com/link?url=S0D7j6oZvh3pp16D-A61pyjNEDIvOXptihrroHPX63RBELqt7Uk-iymW4wtb-Sktkyimh-p0A_z_PmygXcyagMBL85VYnNnJZr2AuCV8sXu)1 第一范式...
阅读全文
摘要:一、explainEXPLAIN SELECT * FROM tj_cps WHERE issend=0 LIMIT 15;explain用法EXPLAIN tbl_name或:EXPLAIN [EXTENDED] SELECT select_options前者可以得出一个表的字段结构等等,后者主要...
阅读全文
摘要:1.replace intoreplace into t(id, update_time) values(1, now());或 replace into t(id, update_time) select 1, now();replace into 跟 insert 功能类似,不同点在于:repl...
阅读全文
摘要:用mysqlbinlogphp处理代码:将mysql-bin.xxxxxx文件导出为可读文本:> D:/baksql/baksqlaa.txt";system($command,$comReturn);var_dump($comReturn);} ?>分离出需要执行的语句:
阅读全文
摘要:MySQL中定义id字段为int类型,但是你知道它内部是什么玩意吗? 1.如果定义int类型,但是不声明长度,系统默认为11个长度(这个大家都知道); 2.如果指定长度小于11,实际上系统还是默认为11,比如你指定int(1),但是你输入123,存入的还是123,并不会是1或者其它; 3.如果指定长度为11或者大于11,但是存入的长度正好是指定的长度,那么存入的内容就不对了,因为前面第一位表示符号+或者-,后面才表示数字。如:int(11),如果存入12345678901正好11位,那么存到库里的会变成2147483647(并不是我们想要存储的);同样,也可以存入-2这样...
阅读全文
摘要:主机A:192.168.1.101从机B:192.168.1.1021、先登录主机 Amysql>GRANT REPLICATION SLAVE ON *.* TO slave_user@192.168.1.101 IDENTIFIED BY 'admin888';赋予从机权限,有多台丛机,就执行多次.2、 打开主机A的my.cnf,输入server-id = 1 #主机标示,整数log_bin = /var/log/mysql/mysql-bin.log #确保此文件可写read-only =0 #主机,读写都可以binlog-do-db =test #需要备份数据,多
阅读全文
摘要:1.给要用到的每个库都建立一个连接;2.中间不要断开连接(如mysql_close($conn)).代码如下:<?php$dbconn1 = mysql_connect("localhost","root","admin888") or die("db1 error");$db1 = mysql_select_db("db",$dbconn1) or die ("db1 select error");$dbconn2 = mysql_connect("loca
阅读全文
摘要:一.MongoDB安装与配置: 1.下载:http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.3.tgz(因为我是ubuntu32bit系统,所以下这个。当然mongodb最好用64bit系统,因为32bit存储的最大单个文件只有2G); 2.安装:因为MongoDB不需要安装,所以下载后只要解压即可。 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.3.tgz 下载到/usr/src/下面,然后解压tar -zxvf http://fastdl.mongo...
阅读全文
摘要:自1970年,埃德加·科德提出关系模型之后,关系数据库便开始出现,经过了40多年的演化,如今的关系型数据库具备了强大的存储、维护、查询数据的能力。但在关系数据库日益强大的时候,人们发现,在这个信息爆炸的“大数据”时代,关系型数据库遇到了性能方面的瓶颈,面对一个表中上亿条的数据,SQL语句在大数据的查询方面效率欠佳。我们应该知道,往往添加了越多的约束的技术,在一定程度上定会拖延其效率。 在1998年,Carlo Strozzi提出NOSQL的概念,指的是他开发的一个没有SQL功能,轻量级的,开源的关系型数据库。注意,这个定义跟我们现在对NoSQL的定义有很大的区别,它确确实实字如其名,
阅读全文
摘要:1.SQL_MODE SQL_MODE可能是比较容易让开发人员和DBA忽略的一个变量,默认为空。SQL_MODE的设置其实是比较冒险的一种设置,因为在这种设置下可以允许一些非法操作,比如可以将NULL插入NOT NULL的字段中,也可以插入一些非法日期,如“2012-12-32”。因此在生产环境中强烈建议开发人员将这个值设为严格模式,这样有些问题可以在数据库的设计和开发阶段就能发现,而如果在生产环境下运行数据库后发现这类问题,那么修改的代价将变得十分巨大。此外,正确地设置SQL_MODE还可以做一些约束(Constraint)检查的工作。 对于SQL_MODE的设置,可以在MySQL的配置..
阅读全文
摘要:区别:FROM_UNIXTIME(time,'%Y-%m-%d'):返回2014-05-19,如果不加'%Y-%m-%d',则默认返回2014-05-19 15:03:06。 其中time是10位时间戳。DATE_FORMAT(date,'%Y-%m-%d'):返回:2014-05-19,如果不加'...
阅读全文
摘要:where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: string MySqlStr=”select * from table where”; if(Age.Text.Lenght>0) { MySqlStr=MySqlStr+“Age=“+“'Age.Text'“; } if(Address.Text.Lenght>0) { M
阅读全文
摘要:1.两个MySQL数据库的操作:<?php $conn = mysql_connect('localhost','root','admin888') or die(mysql_error()); $db = mysql_select_db('mydb') or die(mysql_error()); $db2 = mysql_select_db('mydb2') or die(mysql_error()); mysql_query("set names utf8"); $res = mys
阅读全文
摘要:当你创建临时表的时候,你可以使用temporary关键字。如: create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)‘或 CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE = MEMORY SELECT …from … where ID=current_id; 临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会冲突,或者使用 已经存...
阅读全文
摘要:概念:视图是存储的sql脚本,并没有存储具体的数据,具体数据还是存储在脚本所引用的表中了(例如你提到的表1和表2)。视图只是从表1和表2中提取数据,所以,当表中的内容更改了,实体中的内容也就更改了(因为数据是来源表)。 其实就是相当于我们带着眼镜(视图)看世界(表),世界(表)内容变了,眼镜(视图)中看到的自然也就变了。例子:表A:+----+--------+-----+--------+------------+| id | name | age | sex | intime |+----+--------+-----+--------+------------+| 1 | 张三 | 1.
阅读全文
摘要:一、文件缓存代表:smarty二、编译缓存代表:Xcache配置: extension = "" Xcache 和 memcached 是两个不同层面的缓存,不存在可比性。Xcache 是 php 底层的缓存,它将PHP程式编译成字节码(byte code),再透过服务器上安装对应的程式来执行PHP脚本。而 memcached 是应用层缓存,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。xcache 是不需要修改PHP程序的,只要安装了就可以自动为你的程序加速,而 memcached 则需要你修改程序的,需要你在操作数据库之前先询问
阅读全文
摘要:id字段:数据的IDname字段,用户名sex 字段,性别.我们现在要插入三条进去,这三条数据存在数组中.<?phpmysql_connect('localhost','root','');mysql_select_db('mysql');$data = array( 0=> array( 'name' => 'zhangsan', 'sex' => 'm' ), 1=> array( 'name' => '
阅读全文
摘要:1.UNIX_TIMESTAMP();mysql_query("insert into student (name,intime) values('liu',unix_timestamp());"); from_unixtime(time_stamp) -> 将时间戳转换为日期 unix_times...
阅读全文