<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>phphot - @MySQL/Oracle/SQL</title><link>http://blog.csdn.net/phphot/category/319674.aspx</link><description /><dc:language>zh-CN</dc:language><lastUpdateTime>Fri, 05 Sep 2008 22:03:00 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>phphot</dc:creator><title>MySQL优化方法</title><link>http://blog.csdn.net/phphot/archive/2008/09/05/2888283.aspx</link><pubDate>Fri, 05 Sep 2008 22:00:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/09/05/2888283.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2888283.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/09/05/2888283.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2888283.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2888283</trackback:ping><description>　数据库优化是一项很复杂的工作，因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错，但是如果想优化的效果更好，那么就需要对它了解更多才行。

　　数据库优化是一项很复杂的工作，因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错，但是如果想优化的效果更好，那么就需要对它了解更多才行。

　　1、优化概述

　　让系统运行得快得最重要因素是数据库基本的设计。并且还必须清楚您的系统要用来做什么，以及存在的瓶颈。

　　最常见的系统瓶颈有以下几种：

　　磁盘搜索。它慢慢地在磁盘中搜索数据块。对现代磁盘来说，平时的搜索时间基本上小于10毫秒，因此理论上每秒钟可以做100次磁盘搜索。这个时间对于全新的新磁盘来说提高的不多，并且对于只有一个表的情况也是如此。加快搜索时间的方法是将数据分开存放到多个磁盘中。

　　磁盘读/写。当磁盘在正确的位置上时，就需要读取数据。对现代磁盘来说，磁盘吞吐量至少是10-20MB/秒。这比磁盘搜索的优化更容易，因为可以从多个媒介中并行地读取数据。

　　CP&lt;img src ="http://blog.csdn.net/phphot/aggbug/2888283.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>数据库分表处理设计思想和实现</title><link>http://blog.csdn.net/phphot/archive/2008/09/04/2882723.aspx</link><pubDate>Thu, 04 Sep 2008 22:27:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/09/04/2882723.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2882723.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/09/04/2882723.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2882723.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2882723</trackback:ping><description>&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 12pt;"&gt;一、概述&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&lt;/div&gt;

&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 分表是个目前算是比较炒的比较流行的概念，特别是在大负载的情况下，分表是一个良好分散数据库压力的好方法。&lt;/div&gt;

&lt;div&gt;首先要了解为什么要分表，分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程：&lt;/div&gt;
&lt;div&gt;接收到SQL --&amp;amp;gt; 放入SQL执行队列 --&amp;amp;gt; 使用分析器分解SQL --&amp;amp;gt; 按照分析结果进行数据的提取或者修改 --&amp;amp;gt; 返回处理结果&lt;/div&gt;

&lt;div&gt;当然，这个流程图不一定正确，这只是我自己主观意识上这么我认为。那么这个处理过程当中，最容易出现问题的是什么？就是说，如果前一个SQL没
有执行完毕的话，后面的SQL是不会&lt;img src ="http://blog.csdn.net/phphot/aggbug/2882723.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>五种MySQL数据库可靠性方案的分析和比较</title><link>http://blog.csdn.net/phphot/archive/2008/09/02/2868664.aspx</link><pubDate>Tue, 02 Sep 2008 19:54:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/09/02/2868664.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2868664.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/09/02/2868664.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2868664.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2868664</trackback:ping><description>&lt;p&gt;五种MySQL数据库可靠性方案的分析和比较&lt;font color="#ffffff"&gt;php开源&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这篇文章主要从基本情况、成本、优缺点和应用场合等方面对5种&lt;u&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;/u&gt;的可靠性方案进行了详细的分析和比较，另外，本文对MySQL数据库的开发和管理有一定的借鉴作用。详细内容请大家参考下文： &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1、MySQL Clustering(ndb-cluster stogare)&lt;/strong&gt; &lt;font color="#ffffff"&gt;php开源&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;简介： MySQL公司以存储引擎方式提供的高可靠性方案，是事务安全的，实时复制数据，可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才能达到较好的效果。 &lt;/p&gt;
&lt;p&gt;成本： 节点服务器对RAM的需求很大，与&lt;u&gt;&lt;strong&gt;数据库&lt;/strong&gt;&lt;/u&gt;大小呈线&lt;img src ="http://blog.csdn.net/phphot/aggbug/2868664.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>MYSQL中单一表超过4G的对策</title><link>http://blog.csdn.net/phphot/archive/2008/09/02/2868654.aspx</link><pubDate>Tue, 02 Sep 2008 19:51:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/09/02/2868654.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2868654.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/09/02/2868654.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2868654.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2868654</trackback:ping><description>问题：在论坛发表回复时出现“The table is full”的提示，字面意义上是数据表已满的意思。因为很少有开发者遭遇单一表超过4G的情况，因此朋友间的讨论只能提供一些外围的信息。为解决此问题，我翻阅了很多资料，本文将以我此次问题的解决过程，介绍问题发生的原因及对策。

根据经验，The table is full提示往往出现在以下两种情况：

1. 表中设置了MAX_ROWS值，简单的说，若MAX_ROWS设置为100，而程序试图写入第101条记录，会出现此错误。

2. 表满。这种情况是本文讨论的重点

我们认为MySQL在存取表的时候，存在一种定位分配规律。这个规律在默认的情况下，可以寻址4G以内的数据。超过这个大小，数据库将不能对数据定位，因而也无法进行读写。经过实验，这个限制是完全可以被突破的。

本例中，用户的系统环境为双Athlon处理器、SCSI硬盘72G、2G内存，用户的帖子表数据尺寸为4294963640，接近4G(4G的实际字节数为4294967296)。

首先SSH登录后，查看用户的系统信息：

# uname -a
Linu&lt;img src ="http://blog.csdn.net/phphot/aggbug/2868654.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>数据库系统优化--业务逻辑设计优化</title><link>http://blog.csdn.net/phphot/archive/2008/09/01/2862844.aspx</link><pubDate>Mon, 01 Sep 2008 19:42:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/09/01/2862844.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2862844.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/09/01/2862844.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2862844.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2862844</trackback:ping><description>&lt;h2&gt;当我们优化一个系统时，有时发现一种情况就是自己修改SQL，索引以及分区是不能解决性能问题的。这时你要考虑业务逻辑优化和表设计的重构。这两点的确和设计结合的很紧密。&lt;br&gt;&lt;br&gt;　　业务逻辑优化&lt;br&gt;&lt;br&gt;　　结合实际，我们先谈谈业务逻辑优化。&lt;br&gt;&lt;br&gt;　　案例一：&lt;br&gt;&lt;br&gt;　　我们的系统一个文档模块，客户点击时很慢，通过性能分析，是点击是去查询数据库，这时系统是通过Hibernate来两步处理：&lt;br&gt;&lt;br&gt;　　1，计算该类型的文档数量总数。&lt;br&gt;&lt;br&gt;　　2，显示最新文档的前20篇文档。&lt;br&gt;&lt;br&gt;　
　这时显示第二步的时间是很快的，只取20条记录，但是计算该类型的所有总数很慢。系统的这时的输入是很大的(计算该类型的全部文档，可能有几万篇数
据)，输出就一条总数。这时因为业务逻辑复杂，即使建立索引，分区等等速度也是无法提高，因为不能真正做到索引覆盖和分区消除。&lt;br&gt;&lt;br&gt;　　客户是点一下要等十几秒是不能容忍的，这时可能输入数据量很大下，数据库很可能采用的是hash联结，而且并发用户一大，数据库服务器压力很大。&lt;br&gt;&lt;br&gt;　
　这时常规&lt;img src ="http://blog.csdn.net/phphot/aggbug/2862844.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>Mysql之EXPLAIN显示using filesort</title><link>http://blog.csdn.net/phphot/archive/2008/08/29/2850497.aspx</link><pubDate>Fri, 29 Aug 2008 21:48:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/29/2850497.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2850497.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/29/2850497.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2850497.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2850497</trackback:ping><description>EXPLAIN 是mysql解释select查询的一个关键字,可以很方便的用于调试
语法格式如下
EXPLAIN tbl_name
或者:
EXPLAIN SELECT select_options
EXPLAIN 语句可以被当作 DESCRIBE 的同义词来用，也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息。

EXPLAIN tbl_name 语法和 DESCRIBE tbl_name 或 SHOW COLUMNS FROM tbl_name 一样。

当在一个 SELECT 语句前使用关键字 EXPLAIN 时，MYSQL会解释了即将如何运行该 SELECT 语句，它显示了表如何连接、连接的顺序等信息。

以下信息为引用:

在explain我们所使用的sql的时候，经常会遇到using filesort这种情况，原以为是由于有相同列值的原因引起，结果昨天看到公司的一个sql，跟同事讨论了下加上自己又做了一些测试，突然发现自己原来的想法是错误的。

首先，只有在order by 数据列的时候才可能会出现using filesort&lt;img src ="http://blog.csdn.net/phphot/aggbug/2850497.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>SQL Server 2008的透明数据加密</title><link>http://blog.csdn.net/phphot/archive/2008/08/22/2816474.aspx</link><pubDate>Fri, 22 Aug 2008 21:05:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/22/2816474.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2816474.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/22/2816474.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2816474.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2816474</trackback:ping><description>&lt;h2&gt;对一个数据库管理员来说，当要保护你所支持的数据库时，安全是要考虑的最重要方面之一。我们使用多种机制和技术来保护我们的数据和数据库，例如防
火墙、认证和数据加密。不过尽管我们为我们的环境设置了安全，但是关于数据库安全还总是有问题出现。尽管我们在保护我们的数据库，但是如果有人窃取mdf
文件或备份文件那么会怎么样呢?但是在SQL Server
2008之前没有什么方法来使用第三方解决方案控制这种场景也没有什么本地方法来处理这个问题。SQL Server
2008推出了一个新的特性来保护数据库，它叫做透明数据加密(Transparent Data
Encryption)——TDE，它对整个数据库提供了保护。这篇文章的内容包括： &lt;br&gt;　　什么是透明数据加密? &lt;br&gt;&lt;br&gt;　　TDE的执行。 &lt;br&gt;　　我的数据库现在是安全的吗? &lt;br&gt;　　在激活TDE之前需要考虑什么? &lt;br&gt;&lt;br&gt;　　当激活TDE之后会影响什么?&lt;br&gt;　　什么是透明数据加密? &lt;br&gt;&lt;br&gt;　
　Microsoft SQL Server
2008推出了另一个级别的加密——透明数据加密。&lt;img src ="http://blog.csdn.net/phphot/aggbug/2816474.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>MYSQL Error 2006：MySQL server has gone away的解决方案</title><link>http://blog.csdn.net/phphot/archive/2008/08/19/2796728.aspx</link><pubDate>Tue, 19 Aug 2008 16:36:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/19/2796728.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2796728.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/19/2796728.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2796728.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2796728</trackback:ping><description>MySQL server has gone away有几种情况。&lt;BR&gt;&lt;A name=entrymore&gt;&lt;/A&gt;&lt;BR&gt;1、应用程序（比如PHP）长时间的执行批量的MYSQL语句。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;最常见的就是采集或者新旧数据转化。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解决方案：&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;DIV class=code&gt;&lt;BR&gt;在my.cnf文件中添加或者修改以下两个变量：&lt;BR&gt;wait_timeout=2880000&lt;BR&gt;interactive_timeout = 2880000&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;关于两个变量的具体说明可以google或者看官方手册。&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; 如果不能修改my.cnf，则可以在连接数据库的时候设置CLIENT_INTERACTIVE，比如：&lt;BR&gt;
&lt;DIV class=code&gt;&lt;BR&gt;sql = "set int&lt;img src ="http://blog.csdn.net/phphot/aggbug/2796728.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>初试MYSQL全文检索工具——Sphinx</title><link>http://blog.csdn.net/phphot/archive/2008/08/19/2796553.aspx</link><pubDate>Tue, 19 Aug 2008 16:14:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/19/2796553.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2796553.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/19/2796553.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2796553.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2796553</trackback:ping><description>&lt;DIV class=textbox-content id=zoomtext&gt;参考文章：&lt;BR&gt;&lt;A href="http://www.ibm.com/developerworks/cn/opensource/os-php-sphinxsearch/index.html" target=_blank&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;用 PHP 构建自定义搜索引擎&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.sphinxsearch.com/wiki/doku.php?id=sphinx_chinese_tutorial" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;Sphinx速成指南&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;测试环境&lt;BR&gt;
&lt;DIV class=code&gt;&lt;BR&gt;操作系统：windows xp &lt;BR&gt;数据库版本：MYSQL Server version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.0.45&lt;&lt;img src ="http://blog.csdn.net/phphot/aggbug/2796553.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>MySQL M/S</title><link>http://blog.csdn.net/phphot/archive/2008/08/18/2792479.aspx</link><pubDate>Mon, 18 Aug 2008 22:52:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/18/2792479.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2792479.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/18/2792479.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2792479.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2792479</trackback:ping><description>&lt;div&gt;&lt;font color="#660099"&gt;MySQL支持单向、异步复制，复制过程中一个服务器充当主服务器，而一个或多个其它服务器充当
从服务器。主服务器将更新写入二进制日志文件，并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时，它通知主服务器从服务器在日志
中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新，然后封锁并等待主服务器通知下一次更新。&lt;/font&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font color="#660099"&gt;为什么使用主从复制？&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#660099"&gt;1、主服务器/从服务器设置增加了健壮性。主服务器出现问题时，你可以切换到从服务器作为备份。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#660099"&gt;2、通过在主服务器和从服务器之间切分处理客户查询的负荷，可以得到更好的客户响应时间。但是不要同时在主从服务器上进行更新，这样可能引起冲突。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#660099"&gt;3、使用复制的另一个好处&lt;img src ="http://blog.csdn.net/phphot/aggbug/2792479.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>经典sql语句</title><link>http://blog.csdn.net/phphot/archive/2008/08/06/2778845.aspx</link><pubDate>Wed, 06 Aug 2008 21:18:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/06/2778845.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2778845.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/06/2778845.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2778845.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2778845</trackback:ping><description>&lt;div&gt;初始化表&amp;nbsp;&amp;nbsp; truncate table [tablename]&amp;nbsp;&amp;nbsp;&amp;nbsp; //删除表中的所有记录，主键从0开始递增 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //区别于delete&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;使用旧表创建新表 create table tab_new like tab_old &lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;增加列&amp;nbsp;&amp;nbsp; alter table tablename add collum type&lt;img src ="http://blog.csdn.net/phphot/aggbug/2778845.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>用SQL脚本实现数据库合并复制</title><link>http://blog.csdn.net/phphot/archive/2008/08/05/2773299.aspx</link><pubDate>Tue, 05 Aug 2008 21:21:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/08/05/2773299.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2773299.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/08/05/2773299.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2773299.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2773299</trackback:ping><description>--参考: /* 作者:邹建 */ /*--同步两个数据库的示例 有数据 srv1.库名..author有字段:id,name,phone, srv2.库名..author有字段:id,name,telphone,adress 要求： srv1.库名..author增加记录则srv1.库名..author记录增加 srv1.库名..author的phone字段更新，则srv1.库名..author对应字段telphone更新 --*/ --大致的处理步骤 --1.在 srv1 上创建连接服务器,以便在 srv1 中操作 srv2,实现同步 exec sp_addlinkedserver 'srv2','','SQLOLEDB','srv2的sql实例名或ip' exec sp_addlinkedsrvlogin 'srv2','false',null,'用户名','密码' go --2.在 srv1 和 srv2 这两台电脑中,启动 msdtc(分布式事务处理服务),并且设置为自动启动 我的电脑--控制面板--管理工具--服务--右键 Distributed Transaction C&lt;img src ="http://blog.csdn.net/phphot/aggbug/2773299.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>关于分组序号在MySQL中的实现</title><link>http://blog.csdn.net/phphot/archive/2008/07/26/2714970.aspx</link><pubDate>Sat, 26 Jul 2008 15:36:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/07/26/2714970.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2714970.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/07/26/2714970.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2714970.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2714970</trackback:ping><description>好像ORACLE中有相应的函数，可惜在MSSQL 或者MySQL中没有对应的函数。后两者就得用临时表来实现了。


1、表结构以及示例数据。create table company(dep char(10) not null,val1 int unsigned not null);insert into company values ('市场部', 26),('市场部',25),('市场部',24),('办公室',16),('办公室',12),('研发部',19),('研发部',11); 2、存储过程1）、循环实现DELIMITER $$CREATE DEFINER=`root`@`%` PROCEDURE `sp_generate_auto`()BEGIN  declare cnt int default 0;  declare i int default 0;    drop table if exists tmp;  -- Temporary table to save the result.  create temporary table tmp like company&lt;img src ="http://blog.csdn.net/phphot/aggbug/2714970.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>UNION 和UNION ALL 的区别</title><link>http://blog.csdn.net/phphot/archive/2008/07/26/2714962.aspx</link><pubDate>Sat, 26 Jul 2008 15:32:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/07/26/2714962.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2714962.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/07/26/2714962.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2714962.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2714962</trackback:ping><description>在数据库中，UNION和UNION ALL关键字都是将两个结果集合并为一个，但这两者从使用和效率上来说都有所不同。
UNION在进行表链接后会筛选掉重复的记录，所以在表链接后会对所产生的结果集进行排序运算，删除重复的记录再返回结果。
实际大部分应用中是不会产生重复的记录，最常见的是过程表与历史表UNION。如：
select * from gc_dfys
union
select * from ls_jg_dfys
这个SQL在运行时先取出两个表的结果，再用排序空间进行排序删除重复的记录，最后返回结果集，如果表数据量大的话可能会导致用磁盘进行排序。
而UNION ALL只是简单的将两个结果合并后就返回。这样，如果返回的两个结果集中有重复的数据，那么返回的结果集就会包含重复的数据了。
从效率上说，UNION ALL 要比UNION快很多，所以，如果可以确认合并的两个结果集中不包含重复的数据的话，那么就使用UNION ALL，如下：
select * from gc_dfys
union all
select * from ls_jg_dfys&lt;img src ="http://blog.csdn.net/phphot/aggbug/2714962.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>phphot</dc:creator><title>load data infile 需要注意的一些地方</title><link>http://blog.csdn.net/phphot/archive/2008/07/26/2714662.aspx</link><pubDate>Sat, 26 Jul 2008 14:37:00 GMT</pubDate><guid>http://blog.csdn.net/phphot/archive/2008/07/26/2714662.aspx</guid><wfw:comment>http://blog.csdn.net/phphot/comments/2714662.aspx</wfw:comment><comments>http://blog.csdn.net/phphot/archive/2008/07/26/2714662.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/phphot/comments/commentRss/2714662.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2714662</trackback:ping><description>我的文章一般浅显易懂，不会搞那么深入让大家很难理解。（其实我水平也不咋样)

LOAD DATA INFILE 一直被认为是MySQL很强大的一个数据导入工具，因为他速度非常的快。
不过有几个问题一定要注意
1、编码。
2、灵活导入导出。

我来举两个例子说明一下。
一、关于编码
我们的示例文本文件：
"我爱你","20","相貌平常，经常耍流氓！哈哈"
"李奎","21","相貌平常，经常耍流氓！哈哈"
"王二米","20","相貌平常，经常耍流氓！哈哈"
"老三","24","很强"
"老四","34","XXXXX"
"老五","52","***%*￥*￥*￥*￥"
"小猫","45","中间省略。。。"
"小狗","12","就会叫"
"小妹","21","PP的很"
"小坏蛋","52","表里不一"
"上帝他爷","96","非常英俊"
"MM来了","10","。。。"
"歌颂党","20","社会主义好"
"人民好","20","的确是好"
"老高","10","学习很好"
"斜三","60","眼睛斜了"
"中华之子&lt;img src ="http://blog.csdn.net/phphot/aggbug/2714662.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>