
数据库
文章平均质量分 58
你是我的天晴
wx:lexang
展开
-
设置事务模式及隔离级别
每启动一个mysql.exe程序,就会得到一个单独的数据库连接。每个数据库连接都有个全局变量@@autocommit,表示当前的事务模式,它有两个可选值:–0:表示手工提交模式。–1:默认值,表示自动提交模式。•如果要察看当前的事务模式,可使用如下SQL命令:–mysql> select @@autocommit•如果要把当前的事务模式改为手工提交模式,可使用如下SQL命令:–mysql&g...转载 2017-09-14 12:53:42 · 2880 阅读 · 0 评论 -
mysql查看慢查询、分析执行SQL的效率
1查看慢SQL是否启用,查看命令:show variables like 'log_slow_queries'; 如果结果为ON则是开启了,如果为OFF则表示禁用了。2开启慢查询命令:set global log_slow_queries = on;转载 2017-07-18 14:44:07 · 5391 阅读 · 0 评论 -
SQL Error: 1064, SQLState: 42000错误,使用关键字报错
在MySQL中,下表中的字显式被保留。其中大多数字进制被标准SQL用作列名和/或表名(例如,GROUP)。少数被保留了,因为MySQL需要它们,(目前)使用yacc解析程序。保留字被引起来后可以用作识别符。你不小心使用了下面的关键字那么就会报这个错误“SQL Error: 1064, SQLState:42000错误”ADD ALL ...原创 2015-05-18 20:57:18 · 868 阅读 · 1 评论 -
Can't locate DBI.pm in @INC (@INC contains: /usr/lib64/perl5
错误问题:Can't locate DBI.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/...转载 2015-09-15 18:20:05 · 3808 阅读 · 0 评论 -
查看mysql数据库连接数、并发数相…
mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_cached | 58 || Threads_connected | 57 | ###这个数值指的...原创 2015-05-18 20:58:19 · 607 阅读 · 0 评论 -
MySQL 之 tinyint、smallint、mediumint、int、bigint 的 unsigned
类型说明 取值范围 tinyint[(m)] 有符号值:-128 到127(- 27 到27 - 1) 无符号值:0到255(0 到28 - 1)1个字节 smallint[(m)] 有符号值:-32768 到32767(- 215 到215 - 1) 无符号值:0到...原创 2015-05-18 20:58:16 · 1334 阅读 · 0 评论 -
利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享
当前很多应用都适用字符串char(15)来存储IP地址(占用16个字节),利用inet_aton()和inet_ntoa()函数,来存储IP地址效率很高,适用unsigned int就可以满足需求,不需要使用bigint,只需要4个字节,节省存储空间,同时效率也高很多mysql> create table jackbillow (ip int unsigned, namechar(1));...原创 2015-05-18 20:58:13 · 488 阅读 · 0 评论 -
MySQL数据库及sql语句性能优化的经验分享
在进行性能分析前,需要先定位耗时查询。MySQL提供了内建的耗时查询日志。使用前,打开my.cnf文件,将slow_query_log设置为"On"。 同时将long_query_time设置为一个对一次查询来说比较慢的时间(秒数),比如0.2。slow_query_log_file设置为你想保存日志文件的路径。然后运行代码,执行时间超过设定上限的查询将会被记录到日志中。1. ...原创 2015-05-18 20:58:10 · 739 阅读 · 1 评论 -
MySQL中SYSDATE()和NOW()的区别
MySQL中有5个函数需要计算当前时间的值:NOW.返回时间,格式如:2012-09-23 06:48:28 CURDATE,返回时间的日期,格式如:2012-09-23 CURTIME,返回时间,格式如:06:48:28 UNIX_TIMESTAMP,返回时间整数戳,如:1348408108 SYSDATE,返回时间,格式和time()函数返回时间一样,但是有区别。除了本身定义所返...原创 2015-05-18 20:58:07 · 657 阅读 · 1 评论 -
in与exist , not in与not exist 的区别
in和existsin 是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A ...原创 2015-05-18 20:58:04 · 430 阅读 · 0 评论 -
MySQL server has gone away,Mysql导入大容量SQL文件数据问题
mysql在通过导入sql文件可能会出现下面二个问题:1.如果sql文件过大,会出现"MySQL server hasgone away"问题;2.如果sql文件数据有中文,会出现乱码解决问题:问题1:出现MySQL server has goneaway"问题,是因为mysql默认的"max_allowed_packet"变量值过小.查看目前配置...原创 2015-05-18 20:57:24 · 1167 阅读 · 1 评论 -
linux下mysql的远程连接
本地计算机ip:192.168.1.100远程计算机ip:192.168.1.244 远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start 本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p 发生以下错误: ERROR 1130 (HY000):转载 2015-12-11 19:27:19 · 573 阅读 · 0 评论 -
[Err] 2006 - MySQL server has gone away 错误 MySQL server hasgoneaway报错原因分析及解决办法
原因1. MySQL 服务宕了判断是否属于这个原因的方法很简单,执行以下命令,查看mysql的运行时长 $ mysql -uroot -p -e "show global status like 'uptime';"+---------------+-------+| Variable_name | Value |+---------------+-------+| Upt原创 2016-01-14 22:39:44 · 2692 阅读 · 0 评论 -
SQL语句的调优
SQL语句的调整原则1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。8、下面的查询也将导致全表扫描: select id from t where name like '%abc%' 若要提高效率,可以考虑全文检索。 (mysql全文检索)9、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放...原创 2024-04-18 18:16:35 · 1169 阅读 · 0 评论 -
oracle增加主键列,创建序列,并自动根据序列设值,创建触发器。
工作中遇到有个表没主键,但有数据,然后想创建一个id主键列,并且要有值,老数据不能删,上网查了下,用sql实现了 ,现记录下来。比如这样:大家好,现在表中已经有数据并且数据有重复,如图如上图,这时表中没有主键,第1,2条记录一样,第11,12一样。现在想增加一列Integer型的主键,使表成以下图结构:oraclealter table uss_unbi原创 2017-06-29 14:44:56 · 1037 阅读 · 1 评论 -
plsql developer连接远程数据库(本地不用安oracle)
Instant Client1、先到Oracle网站下载Instant Client :http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html根据你的操作系统选择不同的Instant Client版本也可以点击这里直接下载下载会是一个压缩文件,解压之后的文原创 2016-09-28 13:50:16 · 6252 阅读 · 0 评论 -
linux centons7 mysql主从复制
主从数据库环境搭建主数据库服务器:从数据库服务器: 打开主服务器192.168.96.130mysql配置文件etc/my.cnf添加配置如下在主数据库上添加主从复制账号登入mysql:[root@localhost mysql]# mysql -uroot -proot mysql> grant replication slave on原创 2016-08-30 10:45:09 · 555 阅读 · 0 评论 -
centos6,7下快安装mysql
centos6,7下快速安装mysqlCentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载123# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# rpm -ivh转载 2016-08-28 13:17:52 · 760 阅读 · 0 评论 -
深入分析事务的隔离级别
在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行(原子性),从一个状态转变到另外一个状态(一致性)。由于事务满足久性。所以一旦事务被提交之后,数据就能够被持久化下来,又因为事务是满足隔离性的,所以,当多个事务同时处理同一个数据的时候,多个事务直接是互不影响的,所以,在多个事务并发操作的过程中,如果控制不好隔离级别,就有可能产生脏读、不可重复读或者幻读等读现象。在数据库事务的ACI...转载 2016-08-19 11:48:02 · 380 阅读 · 0 评论 -
数据库的锁机制
并发控制在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。下面举例说明并发操作带来的数据不一致性问题:现有两处火车票售票点,同时读取某一趟列车...转载 2016-08-19 10:53:48 · 15275 阅读 · 0 评论 -
数据库的读现象浅析
读现象”是多个事务并发执行时,在读取数据方面可能碰到的状况。先了解它们有助于理解各隔离级别的含义。其中包括脏读、不可重复读和幻读。脏读脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交(commit转载 2016-08-19 10:36:46 · 430 阅读 · 0 评论 -
彻底理解数据库事务
概念一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的:1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。当一个事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中转载 2016-08-19 10:09:36 · 301 阅读 · 0 评论 -
解决MySql Error Code:2006–MySQL服务器已离线错误
再用SQLYog进行10w用户数据sql导入的时候,出错,后查看日志找到错误代码为:MySQL 服务器已离线后经过google发现时mysql设置的问题.这个问题是因为MySql的默认max_allowed_packet过小所致,修改大一些即可max_allowed_packet = 100M另外,可以增加一下两个参数,来扩大相应时间inte转载 2016-06-08 20:38:18 · 696 阅读 · 0 评论 -
MySQL中的全文检索
说起数据库,MYSQL最适合用于小型运用的开发。最近想弄一个简单的音乐网站玩一下,数据库是以前在网上爬去的。数据不是特别多,但是也不少,查了一下一共有六十多万条歌曲的记录。既然是做音乐网站的话,首先要有一个搜索的功能,至少要能够搜索你有的歌曲吧。由于以前没有怎么认真弄过sql查询的问题,所以还是用最简单的方法去查询,但是这次遇到了单表上百万记录。我用select * from song where转载 2016-05-30 23:46:12 · 461 阅读 · 0 评论 -
mysql中采用concat来拼接中文字符乱码解决方式
mysql concat乱码问题解决 concat(str1,str2)当concat结果集出现乱码时,大都是由于连接的字段类型不同导致,如concat中的字段参数一个是varchar类型,一个是int类型或doule类型,就会出现乱码。解决方法:利用mysql的字符串转换函数CONVERT将参数格式化为char类型就可以了。举例: concat('数量:',CONVERT(int...原创 2015-09-15 18:22:09 · 3600 阅读 · 0 评论