﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Atea - Hero's Grave-随笔分类-Database</title><link>http://www.blogjava.net/atealxt/category/33063.html</link><description>面向对象，开源，框架，敏捷，云计算，NoSQL，编程思想。</description><language>zh-cn</language><lastBuildDate>Fri, 24 Jun 2011 21:55:25 GMT</lastBuildDate><pubDate>Fri, 24 Jun 2011 21:55:25 GMT</pubDate><ttl>60</ttl><item><title>MySQL主从复制失效的问题</title><link>http://www.blogjava.net/atealxt/archive/2011/06/24/mysql_master_slave_replication_inactivation.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Fri, 24 Jun 2011 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2011/06/24/mysql_master_slave_replication_inactivation.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/352977.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2011/06/24/mysql_master_slave_replication_inactivation.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/352977.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/352977.html</trackback:ping><description><![CDATA[现象：<br /><div>JDBC执行 UPDATE DB_NAME.TABLE_NAME SET COLUMN_NAME xxxx;<br />然后操作并不计入mysql binlog，主从复制失效。<br /><br />发生条件：<br />1、MySQL 5.1 (理论上5.1+)<br />2、SQL语句指定库名/跨库执行，之前没有指到这个库下面(use DATABASE_NAME )<br />3、MySQL主从配置没有加--replicate-wild-do-table=<em>db_name</em>.%<br /><br />解决办法：<br />在主从配置文件内加入参数<br /><div>--replicate-wild-do-table=<em>db_name</em>.%</div><br />参考文档：<br />MySQL官方文档<br /><div><a target="_blank" href="http://dev.mysql.com/doc/refman/5.1/zh/replication.html#replication-features">MySQL中的复制 -&gt; 复制启动选项</a><br /></div></div><img src ="http://www.blogjava.net/atealxt/aggbug/352977.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2011-06-24 16:47 <a href="http://www.blogjava.net/atealxt/archive/2011/06/24/mysql_master_slave_replication_inactivation.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读书笔记 —— Oracle Database 9i/10g/11g编程艺术</title><link>http://www.blogjava.net/atealxt/archive/2011/03/17/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Thu, 17 Mar 2011 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2011/03/17/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/346498.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2011/03/17/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/346498.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/346498.html</trackback:ping><description><![CDATA[如果别人只是读取数据，FOR UPDATE就不会锁定资源不让他们读<br />
sum,count等函数为表锁<br />
null不等于任何值，包括它自己<br />
尽量不要使用LONG型字段，而考虑使用CLOB<br />
与不可重复读的区别在于：在幻像读中，已经读取的数据不会改变，只是与以前相比，会有更多的数据满足你的查询条件<br />
客户端发出的语句（如INSERT INTO）是原子性的<br />
应慎用IMMEDIATE约束。一条语句可能会使表中的各行暂时&#8220;不一致&#8221;，这是很自然的。<br />
一般认为，用更新级联来修改主键是很不好的做法<br />
应手动给外键加索引，否则会引起子表的表锁。<br />
优化期会对视图的来源表使用查询。所以，对视图加索引不如直接对来源表进行索引优化。<br />
<br />
无法通过频繁提交来&#8220;节省&#8221;undo空间，所以没有必要在循环中提交。<br />
1、事务的粒度（时长）应设计的尽可能小（短）<br />
2、事务不是稀缺资源，所以不要在循环中提交<br />
以上2个说法都正确，并不矛盾：<br />
Re1: 事务过大，会在rollback时消耗大量资源<br />
Re2: 循环提交会频繁IO<br />
<br />
性能调优，应首先尝试减少查询的运行时间，其次再考虑设置参数等。<br />
查询中最好手动加上order by<br />
索引组织表（IOT）是存储在索引结构中的表，适合OLAP应用。IOT不存在主键的空间开销，因为索引就是输据。<br />
位图索引适用于高度重复而且通常只读的数据（在OLTP中慎用，涉及到并发性）。在读密集的环境中能很好的工作，但极不适用于写密集环境。<br />
仅当要通过索引访问表中很少的一部分行（很小的一个百分比）时，才使用B*索引。每个唯一约束应该至少有一个确实唯一的NOT NULL列。B*树索引不会对一个完全为NULL的项加索引。<br />
<br />
http://atealxt.appspot.com/article/20110317/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html<br />
<img src ="http://www.blogjava.net/atealxt/aggbug/346498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2011-03-17 22:19 <a href="http://www.blogjava.net/atealxt/archive/2011/03/17/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读书笔记 —— MySQL技术内幕 InnoDB存储引擎</title><link>http://www.blogjava.net/atealxt/archive/2011/02/28/mysql_study_note_9787111321880_B004F9PL2O.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Mon, 28 Feb 2011 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2011/02/28/mysql_study_note_9787111321880_B004F9PL2O.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/345382.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2011/02/28/mysql_study_note_9787111321880_B004F9PL2O.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/345382.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/345382.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 限于自己的水平还未达到DBA级别，只能先以应用为主的角度读了。<br>也许过几个月再回来重读，会有另一番心得。<br><br>笔记包含索引、事务与锁、备份及其他四类。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/atealxt/archive/2011/02/28/mysql_study_note_9787111321880_B004F9PL2O.html'>阅读全文</a><img src ="http://www.blogjava.net/atealxt/aggbug/345382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2011-02-28 23:16 <a href="http://www.blogjava.net/atealxt/archive/2011/02/28/mysql_study_note_9787111321880_B004F9PL2O.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Apache DBUtils的batch提交遇到的的NullPointerException</title><link>http://www.blogjava.net/atealxt/archive/2010/12/13/ORACLE_JDBC_DRIVER_DBUTILS.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Mon, 13 Dec 2010 08:05:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2010/12/13/ORACLE_JDBC_DRIVER_DBUTILS.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/340517.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2010/12/13/ORACLE_JDBC_DRIVER_DBUTILS.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/340517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/340517.html</trackback:ping><description><![CDATA[错误日志为：<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">java.lang.NullPointerException<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:</span><span style="color: #000000;">431</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:</span><span style="color: #000000;">3528</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;oracle.jdbc.driver.OraclePreparedStatement.checkBindTypes(OraclePreparedStatement.java:</span><span style="color: #000000;">3271</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:</span><span style="color: #000000;">1322</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.apache.commons.dbutils.QueryRunner.fillStatement(QueryRunner.java:</span><span style="color: #000000;">197</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.apache.commons.dbutils.QueryRunner.batch(QueryRunner.java:</span><span style="color: #000000;">122</span><span style="color: #000000;">)</span></div>
<br />
也是网上搜了半天，查了不少原因，未果。<br />
最后试着更新了一下jdbc驱动，原来是oracle较早版本的jdbc驱动bug所致。<br />
去官网下载一个所对应oracle版本的最新jdbc驱动就OK了。<br />
<br />
<img src ="http://www.blogjava.net/atealxt/aggbug/340517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2010-12-13 16:05 <a href="http://www.blogjava.net/atealxt/archive/2010/12/13/ORACLE_JDBC_DRIVER_DBUTILS.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浮点数二三</title><link>http://www.blogjava.net/atealxt/archive/2010/01/18/floating_number_between_java_and_mysql.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Mon, 18 Jan 2010 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2010/01/18/floating_number_between_java_and_mysql.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/309942.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2010/01/18/floating_number_between_java_and_mysql.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/309942.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/309942.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: <br>首先来预热一下:)<br>System.out.println(2.00 - 1.10);<br>System.out.println(2.00d - 1.10d);<br>System.out.println(2.00D - 1.10D);<br><br>答案<br>// 0.8999999999999999<br>// 0.8999999999999999<br>// 0.8999999999999999<br>PS：JAVA Puzzlers(Puzzle 2)<br><br>那么，问题是：<br>一个浮点数X，存到DB里是305.35，页面显示305.34<br>X = ?<br><br>DB用的是MySQL，字段类型是FLOAT(8,2)<br>后台框架用的是Hibernate<br>前台显示用的是JSTL tag<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/atealxt/archive/2010/01/18/floating_number_between_java_and_mysql.html'>阅读全文</a><img src ="http://www.blogjava.net/atealxt/aggbug/309942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2010-01-18 12:58 <a href="http://www.blogjava.net/atealxt/archive/2010/01/18/floating_number_between_java_and_mysql.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一种org.hibernate.exception.ConstraintViolationException</title><link>http://www.blogjava.net/atealxt/archive/2009/01/31/linux_hibernate_SchemaExport_mysql.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Sat, 31 Jan 2009 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2009/01/31/linux_hibernate_SchemaExport_mysql.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/252777.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2009/01/31/linux_hibernate_SchemaExport_mysql.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/252777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/252777.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一段hibernate的SchemaExport，原来在win下运行正常，放到linux下就出了问题，在插入数据的时候发生了异常。<br>查看DB，发现表引擎是MyISAM，而不是期望的InnoDB。我的代码是在用到batch的时候(Session.flush())才出的错，查了查MyISAM的资料，应该就是这个了。&nbsp;&nbsp;<a href='http://www.blogjava.net/atealxt/archive/2009/01/31/linux_hibernate_SchemaExport_mysql.html'>阅读全文</a><img src ="http://www.blogjava.net/atealxt/aggbug/252777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2009-01-31 10:36 <a href="http://www.blogjava.net/atealxt/archive/2009/01/31/linux_hibernate_SchemaExport_mysql.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初识﻿PL/SQL</title><link>http://www.blogjava.net/atealxt/archive/2008/12/26/PL_SQL.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Fri, 26 Dec 2008 12:22:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2008/12/26/PL_SQL.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/248536.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2008/12/26/PL_SQL.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/248536.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/248536.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了PL/SQL的基本使用方法，包括PACKAGE、FUNCTION的书写及调用，游标的使用等。&nbsp;&nbsp;<a href='http://www.blogjava.net/atealxt/archive/2008/12/26/PL_SQL.html'>阅读全文</a><img src ="http://www.blogjava.net/atealxt/aggbug/248536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2008-12-26 20:22 <a href="http://www.blogjava.net/atealxt/archive/2008/12/26/PL_SQL.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE中CHAR类型自动补足空格的问题</title><link>http://www.blogjava.net/atealxt/archive/2008/11/11/oracle_rtrim.html</link><dc:creator>Atea</dc:creator><author>Atea</author><pubDate>Tue, 11 Nov 2008 06:45:00 GMT</pubDate><guid>http://www.blogjava.net/atealxt/archive/2008/11/11/oracle_rtrim.html</guid><wfw:comment>http://www.blogjava.net/atealxt/comments/239880.html</wfw:comment><comments>http://www.blogjava.net/atealxt/archive/2008/11/11/oracle_rtrim.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/atealxt/comments/commentRss/239880.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/atealxt/services/trackbacks/239880.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在ORACLE中，CHAR类型的字段值会自动补足空格。所以当其作为条件时，就有可能查不出想要的数据。<br>如果不允许改DB设计的话，那就用RTRIM来解决吧。&nbsp;&nbsp;<a href='http://www.blogjava.net/atealxt/archive/2008/11/11/oracle_rtrim.html'>阅读全文</a><img src ="http://www.blogjava.net/atealxt/aggbug/239880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/atealxt/" target="_blank">Atea</a> 2008-11-11 14:45 <a href="http://www.blogjava.net/atealxt/archive/2008/11/11/oracle_rtrim.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>