
MySQL
cecotw
为了追求梦想即使遍体鳞伤,我也无怨无悔。
展开
-
MySQL高级十六——内存优化
一、MyISAM内存优化MyISAM存储引擎使用key_buffer缓存索引模块,加速索引的读写速度。对于MyISAM表的数据块,mysql没有特别的缓存机制,完全依赖于操作系统的IO缓存。1、key_buffer_size设置key_buffer_size决定MyISAM索引块缓存分区的大小。直接影响到MyISAM表的存取效率。对于一般MyISAM数据库,建议1/4可用内存分配给ke原创 2016-01-15 22:18:43 · 561 阅读 · 0 评论 -
MySQL高级十——事务的应用
一、什么是事务为什么要使用事务这个技术?现在很多软件都是多用户,多课程,多线程的,对于同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。1、查看数据库下面是否支持事务(InnoDB支持)?show engines;2、查看mysql当前默认的存储引擎?show variables like '%storage_engine%';3、原创 2016-01-10 20:58:24 · 480 阅读 · 0 评论 -
MySQL高级十一——慢查询
MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询。1、查看时间限制show variables like '%long%';就会看到:+---------------------------------------------------+-----------+| Variable_name原创 2016-01-11 21:05:20 · 324 阅读 · 0 评论 -
MySQL高级十二——索引
create procedure p_addsaloary(in v_empno int)begindeclare adds int;case v_empnowhen 1 thenset adds = 1;when 2 thenset adds = 2;when 3 thenset adds = 3;elseset adds = 4;end case原创 2016-01-11 21:34:20 · 355 阅读 · 0 评论 -
MySQL高级十三——通过索引优化SQL
一、概述二叉树——>索引文件:效率log2N检索10次:2的10次方。1024条记录。索引带来的开销查看数据的文件(安装目录下的data目录),会发现三个文件,.frm:表示表的结构.myd:表示数据.myi:表示索引的文件索引带来的问题:会导致insert,update,delete的效率更新频繁的字段不适合创建索引。唯一性比较差的字段不适原创 2016-01-11 22:12:41 · 345 阅读 · 0 评论 -
MySQL高级十四——表的优化
一、优化1、定期分析表:analyze table woitems;+---------------+---------+----------+----------+| Table | Op | Msg_type | Msg_text |+---------------+---------+----------+----------+| caiwu.wo原创 2016-01-12 19:28:35 · 340 阅读 · 0 评论 -
MySQL高级十五——表的分区
1、为什么要采用分区?当数据量过大的时候(通常是指百万级或千万级数据的时候),这个时候需要将一张表的数据划分几张表存储。一些查询可以得到极大的优化,这主要是借于满足一个给定WHERE语句的数据可以只保存在一个或多个分区内,这样在查找时就不用查找其他剩余的分区。2、查看一下mysql是否支持分区通过以下命令去查看mysql是否支持分区??show variables like '%p原创 2016-01-13 20:57:24 · 282 阅读 · 0 评论 -
Ubuntu14.04LTS(64)编译安装lamp环境
1.首先检查安装的编译工具C编译器,C++编译器,make检查软件是否安装命令:dpkg -l | grep gcc #检查Cdpkg -l | grep g++ #检查C++dpkg -l | grep make #检查make2.检查是否已经有默认安装的软件(apache,mysql,php)如果安装就先卸载apt-get remove -purge apa原创 2015-12-12 10:45:12 · 818 阅读 · 0 评论 -
Centos编译安装PHP7+Nginx1.9+MySQL5.7
一、MySQL编译安装1、卸载旧版本使用下面命令检查系统是否安装MySQL Serverrmp -qa | grep mysql假如存在通过下面的命令来卸载rmp -e mysql //普通卸载方式rmp -e --nodeps mysql //强力删除方式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除2、安装boos原创 2016-02-27 18:38:21 · 2978 阅读 · 2 评论 -
MySQL高级九——MyISAM表锁(共享读锁)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,数据也是一种供许多用户共享的资源。如何保证数据访问的一致性、有效性是所有数据库的一个问题,锁冲突也是影响数据库并发访问性能的一个重要的因素,从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。MySQL锁概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyI原创 2016-01-10 20:16:31 · 1383 阅读 · 1 评论 -
MySQL高级八——触发器的使用
触发器是一种特殊的存储过程,它在插入,删除或者修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。它具有这样的特征:监视地点:一般就是表名监视事件:update/delete/insert触发时间:after/before触发事件:update/delete/insert他不能直接被调用,是由数据库主动执行。exampl原创 2016-01-09 23:44:16 · 559 阅读 · 0 评论 -
MySQL高级十七——MySQL账号权限赋予
一、作用和意义mysql权限系统主要用来对连接到数据库的用户进行权限的验证,以此来判断此用户是否属于合法的用户,如果是合法的用户,如果是合法用户则赋予相应的数据库权限。二、查看当前数据库的用户mysql> select host,user,password from user;+-----------+------+--------------------------------原创 2016-01-16 21:31:31 · 435 阅读 · 0 评论 -
MySQL高级一
一、MySQL编码设定1、查看MySQL服务的编码show variables like 'char%';2、修改数据表的编码alter table test character set utf8;3、修改数据表的某个字段名的编码alter table test change code code varchar(32) character set utf原创 2015-12-29 23:32:12 · 402 阅读 · 0 评论 -
MySQL高级二——流程控制语句
一、MySQL流程控制语句——选择语句1、只有一个判断delimiter $$;create procedure p_showage(in age int)beginif age >= 18 then select '成年人';else select '未成年人';end if;end$$;修改mysql结束符;delimiter ;原创 2016-01-09 16:34:42 · 457 阅读 · 0 评论 -
MySQL高级三——循环语句
1、where循环create procedure p_addnum()begindeclare i int default 1;declare addresult int default 0;while i <= 100 do set addresult = addresult + i; set i = i + 1;end while;select addresult;en原创 2016-01-09 16:39:42 · 1533 阅读 · 0 评论 -
MySQL高级四——自定义条件和处理
语法:declare continue handler for sqlstate '错误代码值' set 变量=变量值如:create procedure p_insertDome()begin declare continue handler for sqldate '42S02' set @x=1; insert into userinfo2(uid,name,passwor原创 2016-01-09 16:41:40 · 405 阅读 · 0 评论 -
MySQL高级五——存储过程的管理
1、查看数据库的存储过程如:show procedure status where db='caiwu';2、查看当前数据库下面的存储过程的列表如:select specific_name from mysql.proc;3、查看存储过程的内容如:select specific_name,body from mysql.proc;4、查看某个存储过程的内容如原创 2016-01-09 16:43:21 · 1174 阅读 · 1 评论 -
MySQL高级六——函数创建和使用
1、查看是否能创建函数show variables like '%fun%';如果为OFF,表示不能创建函数2、修改数据库能创建函数set global log_bin_trust_function_creators = 1;这样就修改为ON了,就能创建函数了3、创建函数(机制和创建存储过程差不多)create function fun_add(a in原创 2016-01-09 16:54:00 · 664 阅读 · 0 评论 -
MySQL高级七——视图的使用
1、视图的使用条件如果某个查询结果出现的非常频繁,就是要经常拿这个查询结果来做子查询,使用视图会更加方便。2、使用视图的好处a、简化查询语句b、可以进行权限控制把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据列。c、大数据表分表的时候,比如某张表的数据有100万条,那么可以将这张表分成四个视图。按照对id取余计算3、创建视图creat原创 2016-01-09 17:14:42 · 737 阅读 · 0 评论 -
MySQL高级十八——监控
一、为什么使用MySQL监控随着软件后期的不断升级,myssql的服务器数量越来越多,软硬件故障的发生概率也越来越高。这个时候就需要一套监控系统,当主机发生异常时,此时通过监控系统发现和处理。二、简单的监控1、监控mysql是否提供正常的服务。 mysqladmin -uroot -proot -hlocalhost ping如果结果输出:mysqld is alive2、原创 2017-04-26 12:23:22 · 547 阅读 · 0 评论