![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库(包含了应用程序与数据库之间的操作)
文章平均质量分 81
小狼_百度
百度,web系统,分布式系统,大数据,机器学习,人工智能等爱好者
展开
-
数据库连接池为什么要建立多个连接
一般程序在访问数据库的时候,都是使用数据库连接池,比如:DBCP,C3P0等等。至于为什么使用连接池,大家都知道,就是为了避免频繁的与数据库建立连接,因为建立连接是一个比较耗时的操作。而连接池的配置基本差不多,都会设置一个最大连接数。现在就有一个疑问,为什么最大连接数要设置成多个?只建立1个连接,一直都不关闭可以吗?1个的话岂不是占用系统资源更少吗(排除掉使用transaction的情况,转载 2013-10-22 18:52:17 · 8415 阅读 · 2 评论 -
Mysql5分区后报errorno 24 打开文件过多异常
从网上搜索关于解决该问题的办法,大多都是修改mysql的my.ini(windows)或者my.cnf(linux/unix)配置文件中open_files_limit值,默认值是2000,windows操作系统默认打开文件是2048个,所以配置open_files_limit的值超过2048是没有意义的,这个可以从cmd命令行中验证(show global status like open%原创 2010-05-21 10:28:00 · 1156 阅读 · 2 评论 -
mysql导出和导入数据库命令
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表 mysqldump -u 用户名 -p 数据库名表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数转载 2010-03-02 13:52:00 · 461 阅读 · 0 评论 -
Mysql innodb引擎和myisam引擎 使用索引区别
首先你要理解,innodb的主键索引都是聚簇索引,它的辅助索引里面都包含有表的主键,而且主键都在辅助索引的最后一列.而myisam的索引,都是普通索引,存储的是列的值,还有列在原表中的地址值---不存储主键值.好了,下面我们开始:先创建两个表:一个是innodb引擎的,一个是myisam引擎的CREATE TABLE `innodb` ( `id` int转载 2009-11-12 11:29:00 · 1381 阅读 · 0 评论 -
SQLServer 海量查询的数据优化
一、因情制宜,建立“适当”的索引建立“适当”的索引是实现查询优化的首要前提。索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显。注意,在这句话中,我们用了“适转载 2009-11-13 10:45:00 · 912 阅读 · 0 评论 -
关于使用索引(Index)的一些注意点
而通常情况下,使用索引比全表扫描要块几倍至几千倍,所以对索引要有比较深入的了解。某些情况下SELECT 语句中的WHERE子句用到索引列,但生成的执行计划却不不使用索引。这里有一些例子. 1.1.1 ‘!=’,NOT操作将不使用索引. 记住, 索引只能告诉你什么存在于表中, 而不能告诉你什么不存在于表中 不使用索引: SELECT ACCOUNT_NAME FROM转载 2009-11-12 11:33:00 · 807 阅读 · 0 评论 -
数据库索引介绍及使用
一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创建在转载 2009-11-11 14:00:00 · 590 阅读 · 0 评论 -
MySQL查询优化技术系列讲座之使用索引(一)
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其转载 2009-10-29 14:07:00 · 552 阅读 · 0 评论 -
MySQL索引分析和优化(转)
什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查转载 2009-10-29 13:22:00 · 497 阅读 · 0 评论 -
MySQL查询优化技术系列讲座之使用索引(二)
索引的代价 一般来说,如果MySQL能够找到方法,利用索引来更快地处理查询,它就会这样做。这意味着,对于大多数情况,如果你没有对表进行索引,就会使性能受到损害。这就是我所描绘的索引优点的美景。但是它有缺点吗?有的,它在时间和空间上都有开销。在实践中,索引的优点的价值一般会超过这些缺点,但是你也应该知道到底有一些什么缺点。 首先,索引加快了检索的速度,但是减慢转载 2009-10-29 14:10:00 · 461 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Every derived table must have its own alias
在sessionFactory中配置的数据库方言引起的错误原创 2009-06-13 13:28:00 · 4033 阅读 · 0 评论 -
开源数据库 Sharding 技术 (Share Nothing)
从 Shard 到 Sharding "Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏(MMORPG)中。"Sharding" 姑且称之为"分片"。Sharding 不是一门新技术,而是一个相对简朴的软件理念。如您所知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 MySQL 的潜在用户都对 MySQL 的扩展性有转载 2009-05-25 16:13:00 · 578 阅读 · 0 评论 -
详细讲解大型数据库的设计原则与开发技巧
目前,计算机技术已经广泛地应用于国民经济的各个领域当中,在计算机硬件不断微型化的同时,应用系统也逐渐向着复杂化、大型化的方向发展。数据库是整个系统的核心,它的设计直接关系系统执行的效率和系统的稳定性。因此在软件系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正确性。只有在合适的数据库产品上设计出合理的数据库模型,才能降低整个系统的编程和维护难度,提高系统的实际转载 2009-05-27 10:39:00 · 857 阅读 · 0 评论 -
Oracle 物化视图
Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图转载 2009-05-14 15:29:00 · 388 阅读 · 0 评论 -
oracle学习--循环语句
loop循环:create or replace procedure pro_test_loop isi number;begini:=0;loop i:=i+1; dbms_output.put_line(i); if i>5 then exit; end if;end loop;end pro_test_loop;while循环:create or replace proced转载 2009-05-13 17:53:00 · 541 阅读 · 0 评论 -
[oracle]: 表解锁
系统在执行的过程中,由于对某个表的操作时间过长,用户通过关闭pl/SQL强制断开客户端与数据库服务器端的连接,但数据库服务器端会话仍然继续操作,此时表就会被缩住。这样的情况需要数据库系统管理员解锁,解锁语句如下: 退出当前Session所用的工具或应用程序.利用dba权限强行Kill掉了执行Lock操作的Session.SELECT sid, serial#, username,原创 2009-05-13 14:49:00 · 758 阅读 · 0 评论 -
mysql存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试
InnoDB和MyISAM简介MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物转载 2010-05-26 14:50:00 · 908 阅读 · 0 评论 -
mysql服务器分析补丁
监视mysql的状态与查询优化转载 2011-01-04 10:55:00 · 1705 阅读 · 0 评论 -
MySQL ORDER BY With LIMIT and ANALYZE
<br />In this third case we get to see some really fun stuff: The effect of ANALYZE on index selection for a three table join, an ORDER BY with LIMIT optimization, and documented evidence that what we'll fix makes a night and day difference for the better.转载 2011-01-21 15:00:00 · 1292 阅读 · 0 评论 -
Mysql的强制索引(Force Index)都为我们做了哪些优化?
原本只是想验证一下选择不同索引对innodb count(*)查询速度的影响。各位顺道可参考下这篇文章 [InnoDB系列] -- innodb表如何更快得到count(*)结果。测试过程中没想到同样的一条sql语句仅仅是增加了force index后查询速度几乎快了一倍。select count(*) from http_log_3 force index(time) where转载 2012-08-01 17:05:40 · 11432 阅读 · 4 评论 -
Top 20+ MySQL Best Practices
Advertise HereTop 20+ MySQL Best Practices Burak Guzel on Nov 25th 2009 with225 comments Tutorial DetailsTechnology: MySQLDatabase operations often转载 2012-06-26 09:52:41 · 1004 阅读 · 0 评论 -
Managing Hierarchical Data in MySQL
IntroductionMost users at one time or another have dealt with hierarchical data in a SQL database and no doubt learned that the management of hierarchical data is not what a relational database is i转载 2011-12-09 17:45:09 · 829 阅读 · 0 评论 -
MySQL递归查询——数据平坦化新思维
最近在做Oracle到MySQL的数据库的移植过程。两者之间的诸多差别(比如MySQL不支持ADO、函数不一致、唯一索引限制不一样等等)都易于解决,但有一个问题却困扰我们良久:Oracle的递归查询(select ... from ... start with ... connect by ... where ...子句)在MySQL中不受支持。在SQL Server 2000(2005已经支转载 2011-12-09 17:47:14 · 2026 阅读 · 0 评论 -
Non-technical Guide to Isolating Slow MySQL Queries
MySQL is ubiquitous. As such there are many non-technical users who rely on MySQL but do not want to become MySQL experts beyond routine maintenance. When query-related performance problems creep in, such users are at a loss because there is no magic solut转载 2011-01-21 15:06:00 · 696 阅读 · 0 评论 -
Indexing Basic MySQL Queries
<br />"Why is the server so slow?" That's what one customer was asking in regards to her dual 2.8 GHz Xeon with 3 Gigs of RAM server. Her primary website is a bulletin board with over 25,000 registered users and 151,000 posts total. Not a large site by the转载 2011-01-21 14:57:00 · 879 阅读 · 0 评论 -
How To Index For Joins With MySQL
<br />From time to time I see people asking "What do I index to join these tables efficiently?" Often, someone just gives them an answer without really explaining the basic theory behind how to index for joins. The purpose of this document is to describe t转载 2011-01-21 15:01:00 · 495 阅读 · 0 评论 -
Table Design and MySQL Index Details
<br />It's not often I get to work with a true homemade database design. In this case the customer (or their developer to be accurate) had designed the whole database backend of their website from scratch. However, problems arose as usual: An overly powerf转载 2011-01-21 14:58:00 · 688 阅读 · 0 评论 -
Microsecond Support for MySQL Slow Logs
Blog Contact SitemapThis web site is no longer maintained. Read why.Microsecond Support for MySQL Slow Logs<br />This document summarizes microsecond resolution support for the MySQL slow query log. MySQL has not always supported microsecond resolut转载 2011-01-21 15:14:00 · 1046 阅读 · 0 评论 -
JOIN Rows Produced vs. Rows Read
Blog Contact SitemapThis web site is no longer maintained. Read why.JOIN Rows Produced vs. Rows ReadIt's common knowledge that the number of rows a JOIN can produce is the product of the matching rows for each table. A three table JOIN with 500, 1转载 2011-01-21 15:13:00 · 699 阅读 · 0 评论 -
MySQL Select and Sort Status Variables
Hack MySQL ‹ MySQL Select and Sort Status VariablesBlog Contact SitemapThis web site is no longer maintained. Read why.MySQL Select and Sort Status VariablesMySQL SHOW STATUS; and mysqlreport using the -sas command line option show nine status var转载 2011-01-21 15:10:00 · 1524 阅读 · 0 评论 -
COM_QUIT and Questions
<br />In the pursuit of intricate details, we always want 2 + 2 to equal 4. In the case of the status value Questions, 2 + 2 seems to equal much less than 4. On a production server this discrepancy can often be a magnitude in the millions. Thanks to a post转载 2011-01-21 15:07:00 · 1305 阅读 · 0 评论 -
MySQL之Explain深入学习
<br />前记:很多东西看似简单,那是因为你并未真正了解它。<br /><br />Explain命令用于查看执行效果。虽然这个命令只能搭配select类型语句使用,如果你想查看update,delete类型语句中的索引效果,也不是太难的事情,只要保持条件不变,把类型转换成select就行了。<br /><br />explain的语法如下:<br /><br />explain [extended] select ... from ... where ...<br /><br />如果使用了extend转载 2011-01-24 15:08:00 · 686 阅读 · 0 评论 -
MySQL DNS Details
<br />MySQL manual section 7.5.6. How MySQL Uses DNS can be summarized in one sentence: A new thread looks for hostname in cache, if not present it tries to resolve it. Simple enough, however in cases where MySQL is primarily accessed over a network (such转载 2011-01-21 15:08:00 · 698 阅读 · 0 评论 -
How To Look At MySQL Joins and More ORDER BY With LIMIT
<br />The main purpose of this article is to demonstrate how to look at MySQL joins. By "look at" I mean how to see through MySQL's eyes, so-to-speak. This task is fundamentally different from the rather straight-forward tasks of how to do joins or how to转载 2011-01-21 15:03:00 · 923 阅读 · 0 评论 -
ORACLE 分区实例解析
1.1 分区表PARTITION table在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作如下: 范围分区表:CREATE TABLE sales (invoice_no N转载 2009-05-12 14:26:00 · 1030 阅读 · 0 评论 -
java备份oracle数据库
public class JavaEmpOracle{public static void main(String[] args) {Runtime rt = Runtime.getRuntime();Process processexp = null;String exp = "exp username/psd@publicdb file=d://sql.dmp转载 2009-04-27 10:20:00 · 1766 阅读 · 0 评论 -
MySQL 5.0安装的图解
打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面: mysql安装向导启动,按“Next”继续 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程在转载 2009-04-21 11:11:00 · 486 阅读 · 0 评论 -
个人经验总结:在Oracle中恢复被DROP掉的表
以前只知道Windows有个回收站,今天听说Oracle也有个回收站! 在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦。如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观! 不过还好Oracle有个回收站,概念就跟Windows里的回收站一模一样。 比如有以下误操作: DROP T转载 2009-02-25 11:28:00 · 477 阅读 · 0 评论 -
一条SQL语句的优化过程
很简单的一次调整,语句加了适当的索引后性能就有大幅的提升。当时看到这条语句的时候,第一感觉就是执行效率肯定低下。语句的功能是求某一客户当天产品的总销量。 原来的语句是这样的: select sum(sl0000) from xstfXPs2 where dhao00 in ( select dhao00 from xstfxps1 where trunc(ywrq00)转载 2009-02-25 10:00:00 · 693 阅读 · 0 评论 -
ORACLE中大数据量下索引效率的测试与分析(二)
(4)当插入数据量很大时,索引需重新分裂,用更多的数据块来存放索引数据 在插入200606月份的数据后,进行查询并跟踪执行语句所扫描的数据块。查询语句为:select Custld,AcptId,Cusfldl,hsUnit,Dept,Unit from DATA_DEST where Custld=1380745518;插入200606月份的数据后查询跟踪的结果如表4所示: 表4转载 2009-02-25 09:58:00 · 2702 阅读 · 0 评论