在改字段上添加索引就是了,一下是Oracle索引创建规则:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
❷ 为啥sql数据库总是运行一段时间意外停止
情况说明:
1、出现此现象时,数据库是正常的(做过一个实验:新建了一个网站,程序与运行网站相
同,连接的数据库也与运行网站连接的数据库相同。当运行网站出现连不上数据库现象时,
运行这个新网站,结果正常);
2、出现此现象时,IIS也是正常的,因为网站其他不调用数据库的页面是可以打开的。
3、当出现此现象时,查看数据库里的连接,只有2到3个连接。
4、网站服务器和数据库服务器放在同一台机器上。
5、与服务器同在一个局域网中的其他PC机,不能通过域名来访问该服务器上的网站,只能
通过输入内部IP来访问。局域网中的PC可以访问INTERNET上的其他网站。
6、服务器使用的网卡只分配一个内部IP,同时绑定了一个外部IP.
7、曾经服务器托管在IDC那里,运行半年正常,后来把服务器移到了自建的机房里,运行2
个多月后出现这个问题,之后就不断地出现此问题。
8、采用.NET/C#开发,并且程序中使用了关闭连接的命令。
❸ SQL一运行就卡死 应该从哪方面入手解决比较好
1. SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。
调整不良SQL通常可以从以下几点切入:
? 检查不良的SQL,考虑其写法是否还有可优化内容
? 检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写
? 检查优化索引的使用
? 考虑数据库的优化器
2. 避免出现SELECT * FROM table 语句,要明确查出的字段。
❹ Delphi连接sql数据库过程界面会卡死怎么办
可以尝试如下作法:
1. 自定义一个类,ADOConnection、ADOQUERY为其成员域成员动态创建;
2. 启动线程去执行连接操作;此线程有一标志,当连接有结果(成功或失败)后置TRUE;
3. 界面单元调用此线程,WHILE判断线程标志为TRUE时,说明连接有结果。
while not customerThread.flag do begin
application.ProcessMessages.
end;
❺ 在mysql中运行sql脚本的时候 运行一半卡住了,提示 SQL 执行错误#1064.从数据库的响应:是什么问题 如何解
行不通是什么,你为什么不粘贴系统的提示的呢。
明明说了没有密码,为什么还要 -P密码 这个参数呢。
看你的提示信息,有可能是密码错误,也有可能是SQL文件的语法错误。希望help you。reference51cto,365testing
❻ pl/sql中在命令窗口中执行sql脚本卡死
你看过这个脚本的内容么!是不是因为插入数据量过大?我在查询的时候遇到过卡死的情况,那张表数据量过大!我查询了所有的信息。如果是,插入数据过大的话,可以试着分次插入