MySQL错误——java.sql.SQLException: Incorrect decimal value: \'\' for column \'sys_offset_seq\' a

错误名称:java.sql.SQLException: Incorrect decimal value: \'\' for column \'sys_offset_seq\' a 这种应该是版本问题,尤其是虚拟主机。 把''改成null不会出错: insert into log values(nu...

2017-03-04 11:44:12

阅读数:2785

评论数:0

MySQL错误——无法读表(MySQL 1018 error)

一、错误重现 可以进入MySQL数据库,但是无法读取数据库表,报错如下:访问数据库,莫名其妙的报1018错误:ERROR 1018 (HY000): Can't read dir of './cnapscips/' (errno: 13)。 二、解决方案 查看MySQL的...

2017-01-20 10:21:07

阅读数:789

评论数:0

MySQL——常用SQL优化(五)

一、分页优化查询。 一般分页查询时,通过创建覆盖索引能够比较好地提高性能。一个常见又非常头疼的问题:“limit 10000,10”,此时MySQL排序出10020条记录后仅仅返回第10001到10020条记录,前10000条记录都会被抛弃,查询和排序的代价非常高。 1、第一种优化思路。 在...

2017-01-05 16:58:24

阅读数:180

评论数:0

MySQL——常用SQL优化(四)

一、MySQL如何优化OR条件。 对于OR的查询子句,如果要使用索引,则OR之间的每个条件列都必须使用索引;如果没有使用索引,则应该考虑增加索引。 然后在两个独立索引上做OR操作。 从上图中,查询使用到了索引,并且从执行计划中,发现MySQL在处理含有OR字段的查询时,实际上是对OR的各个...

2017-01-05 16:25:32

阅读数:151

评论数:0

MySQL——常用SQL优化(三)

一、优化group by语句。 MySQL在默认情况,会对group by col1,col2,... 的这些字段进行排序,这与在查询中使用order by col1,col2,...排序类似。因此,如果显示包括一个包含相同列的order by 子句,则对MySQL时间性能没有什么影响。 如果...

2017-01-05 15:43:35

阅读数:157

评论数:0

MySQL——常用SQL优化(二)

一、优化insert语句。 当进行数据插入,insert语句的优化,可以考虑以下方式。 (1)、如果同时从同一客户插入很多行数据,应尽量使用多个值表的insert语句,这种方式将大大缩减客户端和数据库服务器之间的连接,关闭等消耗。使得效率比使用单个insert语句要快好几倍,下面是例子。 inse...

2017-01-05 15:21:41

阅读数:205

评论数:0

MySQL——常用SQL优化(一)

一、大批量数据的插入。 当使用load命令导入数据时,适当的设置可以有效提高速度。 (一)、对于MyISAM存储引擎的表,可以通过一下方式快速地批量导入数据。 DISABLES KEYS和ENABLE KEYS用来打开或者关闭MyISAM表非唯一索引的更新。在导入大量数据到一个非空的My...

2017-01-05 14:17:52

阅读数:240

评论数:0

MySQL——load语句导入数据

一、使用load语句导入数据。 最近在看有关SQL常用优化的方案,涉及到使用load语句导入大量数据到数据库,按照官方的说法:使用load语句要比使用insert语句将近快20倍的速度,平时开发中很少涉及导入大量数据,所以,平时都是使用insert语句导入。这里对load命令进行简单的总结。 进入...

2017-01-05 11:48:16

阅读数:4079

评论数:0

MySQL——配置文件(my.ini)

1、配置文件说明信息。 # CLIENT SECTION # ---------------------------------------------------------------------- [client] #password =1234 # pipe # sock...

2017-01-05 09:57:21

阅读数:12073

评论数:0

MySQL——InnoDB锁问题(六)

一、在InnoDB情况下什么时候使用表锁。 对于InnoDB表,大多数情况都应该使用行锁,因为事务和行锁往往是我们选择InnoDB表的重要原因。但在特殊的情况下,也可以使用表级锁。 (1)、事务需要更新大部分数据或者全部数据,表又比较大,如果使用默认的行级锁,不仅使得事务执行比较慢效率低,而且...

2017-01-04 17:51:54

阅读数:1054

评论数:0

MySQL——InnoDB锁问题(五)

一、Next-key锁。 当我们使用范围条件而不是相等条件去检索数据,并请求共享锁和排他锁时,InnoDB会给符合条件的已有的数据添加上锁;对于键值在条件范围内,但不存在的记录,叫间隙。InnoDB此时会给这个部分添加上锁,这种锁机制就是Next-key锁。 假如:员工表emp中只有101条数...

2017-01-04 16:34:44

阅读数:186

评论数:0

MySQL——InnoDB锁问题(四)

一、InnoDB行锁实现方式。      InnoDB行锁是通过给索引上的索引项来加锁实现的,如果没有索引,InnoDB将通过隐藏的聚簇索引来对记录加锁。InnoDB行锁分三种情形。 (1)Record lock :对索引项加锁。 (2)Grap lock:对索引项之间的”间隙”、第一条记录...

2017-01-04 16:06:11

阅读数:438

评论数:0

MySQL——InnoDB锁问题(三)

一、InnoDB行锁模式和加锁方法。 InnoDB表实现了以下两种形式的行锁。 (1)共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。 (2)排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。 另外,为了允许行锁和表锁的共存...

2017-01-04 14:48:07

阅读数:398

评论数:0

MySQL——InnoDB锁问题(二)

可以通过show status like 'innodb_row_lock%';查看系统上的行锁争用情况;

2017-01-04 12:27:45

阅读数:269

评论数:0

MySQL——InnoDB锁问题(一)

InnoDB和MyISAM最大的不同有两点,(1)、支持事务处理;(2)、采用行级锁; 行级锁与表级锁本省有很大的不同,同时,引入事务处理后,也带来了新的问题。下面详细讲解InnoDB行级锁。 (一)、背景知识; (1)、事务及其特性。 事务是由一组SQL语句组成的逻辑单元,事务具有以下四...

2017-01-04 11:40:39

阅读数:365

评论数:0

MySQL——MyISAM表级锁

锁是计算机协调多个进程或者多个线程并发访问某一个资源的机制。相对其他数据库而言,MySQL数据库的锁比较简单,最显著的特点是不同的引擎持有不同的锁机制。MyISAM和MEMORY存储引擎支持表级锁,DBD引擎支持采用页面锁,但也支持表级锁,InnoDB既支持行级锁也支持表级锁,默认为行级锁。 My...

2017-01-03 16:28:58

阅读数:323

评论数:0

MySQL间隙锁问题

间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间。 最近用户反馈说系统老是出现insert时,等待超时了,最后发现是insert间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,...

2017-01-03 11:04:38

阅读数:3246

评论数:2

数据表多字段时数据插入的总结

在开发中我们需要经常使用SQL语句执行数据插入,最常出现的情况是数据表字段不多的时候,那个时候写写sql语句似乎很简单,但是有一天你会发现,你有个数据表,数据表字段有几百个,如果必须使用insert into TB_Table ('字段一','字段二','字段三',....) values(?,?...

2016-11-23 19:40:46

阅读数:472

评论数:0

MySQL修改数据表中的字段名

MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名。在同一张数据表中,不能出现两个名称完全相同的字段名。 因此,数据库系统可以通过字段名来区分数据表中的不同字段。 在MySQL中,ALTER TABLE语句也可以修改数据表的字段名。基本语法格式如下: A...

2015-12-30 16:52:41

阅读数:45603

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭