Database
mysql索引的几点常见遵守事宜
星期二, 四月 6th, 2010 | Database | 没有评论
以前对索引不是很重视,直到处理大数据的时候才发现,只是优化程序不管数据库是极其不对的,有无索引性能差异不是程序控制可以想象的;
简要列出几个通用的创建索引的说明,下列来源于网络(值得注意的几点)
1,创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加 索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下 降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。
2,复合索引
比如有一条语句是这样的:select * from users where area=’beijing’ and age=22;
如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效 率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀 特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。
› Continue reading
Sql server 2008 日志满对应的收缩日志的sql
星期日, 三月 21st, 2010 | Database, JAVA-and-J2EE | 没有评论
sql如下:
BACKUP LOG dbname to disk=’dbname.log’
DBCC SHRINKFILE (‘dbname_log’,1)
不过要记得执行两遍才可以最终执行收缩;
DB2控制中心菜单中文乱码解决方法
星期日, 三月 21st, 2010 | Database, JAVA-and-J2EE | 没有评论
db2有段时间没有用,自己又换了新的操作系统windows 2008 server版的,打开db2发现控制中心是一个一个小方格,有点郁闷了,db2也出现乱码了,还好快捷键都有个英文字,基本上能猜的出来是什么,不过看着始终不舒服,解决之道也很方便,记录下:
DB2 控制中心菜单出现乱码(其实是显示方框):是字体设置的问题。
解决方法:
打开控制中心,选择菜单第5项(工具);
选最底下一项(工具设置);
打开后选第3个标签(字体);
把下面两个选项都选第二项(无衬线);
关掉控制中心重新打开,方框变中文,问题解决。
遭遇db2频繁报内存不足的OS错误勘误解决方法
星期日, 十月 11th, 2009 | Database, JAVA-and-J2EE | 一条评论
异常信息,因为有数据库的轮循处理,查询比较频繁,加上有高的并发访问,不到2个小时就挂掉了
希望高手求解!(下面是论坛的求助和解决方案,最终还是sql的实参过多,缓存溢出造成)
2009-09-29-19.48.24.000000+480 I34133163H580 LEVEL: Warning
› Continue reading
webgame的开发烦恼之多
星期一, 九月 28th, 2009 | Database, JAVA-and-J2EE | 2 Comments
做webgame开发遇到很多以前做软件时候不需要考虑的问题,面对高并发,外接任务的等灵活对接;
不单需要考虑的实现快速,还要考虑快速的扩展;
既要保证程序的快速实现,又要确实减少数据库的压力;
游戏的引擎设计很大程度上决定了你的产品上线后能应付多大的高并发,对应数据库的优化配置
貌似简单,不知道里面凝结多少智慧和汗水,也行这就是经验探索~~~~
聊记下:将近一个月的疯狂加班的思索和重构的欲望
JDBC事务隔离级别和db2中几个隔离级别行锁等
星期六, 八月 1st, 2009 | Database, JAVA-and-J2EE | 7 Comments
聊记下对应的事务处理问题 ———工作中头疼的事务拆分,降低事务的–文字简介–
JDBC的数据隔离级别设置:
JDBC 数据库隔离级别 数据访问情况
TRANSACTION_READ_UNCOMMITTED ur 就是俗称“脏读”(dirty read),在没有提交数据时能够读到已经更新的数据
TRANSACTION_READ_COMMITTED cs 在一个事务中进行查询时,允许读取提交前的数据,数据提交后,当前查询就可以读取到数据。update数据时候并不锁住表
TRANSACTION_REPEATABLE_READ rs 在一个事务中进行查询时,不允许读取其他事务update的数据,允许读取到其他事务提交的新增数据
TRANSACTION_SERIALIZABLE rr 在一个事务中进行查询时,不允许任何对这个查询表的数据修改。
JDBC事务隔离级别
为了解决与“多个线程请求相同数据”相关的问题,事务之间用锁相互隔开。多数主流的数据库支持不同类型的锁;因此,JDBC API 支持不同类型的事务,它们由 Connection 对象指派或确定。在 JDBC API 中可以获得下列事务级别:
› Continue reading
db2频现“锁等待”或“911”错误–案例分析之原因及处理方法
星期日, 七月 26th, 2009 | Database, JAVA-and-J2EE | 没有评论
为什么db2频现“锁等待”或“911”错误
—开始以为911不会引发什么严重的问题,然事实上情况要比我想象的严重,不单纯是拆除事务的原因了,要处理对应的信息了,下列的分析对自己有很大帮助,特此摘录,也感谢撰写本文的原作者。
——————以下为摘录——————————————————————————
大家都知道,多个事务同时更新同一个数据行时必定要发生锁等待。虽然这个是造成锁等待或锁超时的原因,但不是全部。有不少同事在开发过程中发现这样的问题:自己只做一个根据主键update语句,就更新一行,且确知没有别人在更新这行,为什么语句迟迟没反应,想死锁了一样。本人通过几次尝试和试验发现了“秘密”。即db2的严重影响并发性能的地方:
1、无索引,relation scan 锁等待;
2、有索引,update时索引不能并发访问,需“串行”独占访问;
3、锁升级,行锁升级为表锁,阻塞其他事务的行级更新。
试验环境:
db2 v8系列或v9.1.4
db2命令行
› Continue reading
db2, oracle和sqlserver,mysql取前几行的各自独自语法
星期六, 五月 16th, 2009 | Database, JAVA-and-J2EE | 2 Comments
常用的四种数据库的取前几行的sql语句如下: 以前比较不熟悉的是db2,现在天天用,也感觉不错了
db2:
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=10
或者
select * from tab fetch first 10 rows only
oracle:
select * from tab where rownum <=10
sqlserver:
select top 10 * from tab
mysql:
select * from tab limit 10
DB2错误信息汇总-SQL CODE和SQL State相关
星期一, 四月 13th, 2009 | Database | 2 Comments
项目是采用db2,在执行对应的sql时候总是报写sql的异常信息,网上搜索很是麻烦,就根据前人经验整理备用,图个方便;
操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原因
(声明:这是搜集网上的资料得来的,详细出处不记得了)
sqlcode sqlstate 说明
000 00000 SQL语句成功完成
01xxx SQL语句成功完成,但是有警告
+012 01545 未限定的列名被解释为一个有相互关系的引用
+098 01568 动态SQL语句用分号结束
+100 02000 没有找到满足SQL语句的行
+110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统
+111 01590 为2型索引设置了SUBPAGES语句
+117 01525 要插入的值的个数不等于被插入表的列数
+162 01514 指定的表空间被置为检查挂起状态
+203 01552 使用非唯一的名字来解决命名的限定列
+204 01532 命名的对象未在DB2中定义
+206 01533 命名的列不在SQL语句中指定的任何表中存在
+218 01537 因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN
+219 01532 命名的PLAN TABLE不存在
+220 01546 不正确定义PLAN TABLE,检查命名列的定义
› Continue reading
视图简介–基于mysql
星期日, 九月 7th, 2008 | Database | 没有评论
视图的优点:
1.简单:不关心后面对应的表结构、关联条件和筛选条件,是过滤好的结果集
2.安全:只能访问被允许的结果集,对表的权限管理并不能限制到某个行某个列,可以通过视图实现
3.数据独立: 屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;修改列名,可以通过修改视图来解决
视图操作:
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)