
sql
文章平均质量分 87
paolei
这个作者很懒,什么都没留下…
展开
-
PostgreSQL数据库透明数据加密概述
最近一段时间,一直在和PostgreSQL社区合作开发TDE(Transparent data encryption,透明数据加密)。研究了一些密码学相关的知识,并利用这些知识和数据库相结合。本文将会以数据库内核开发角度,从以下3个维度和大家讲述TDE。数据库当前面临的威胁模型 加密策略描述,当前PostgreSQL社区目前的设计状态以及其他数据库TDE方案对比 未来的数据安全畅想那什么是透明数据加密?透明数据加密,从字面上来说,可以分为三部分,数据,加密,透明。 数据,这里不用过多解释,用户转载 2021-11-11 10:44:41 · 2575 阅读 · 0 评论 -
mysql,oracle,sql server中的默认事务隔离级别查看,更改 And SQLserver锁和事务隔离级别的比较与使用
未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)已提交读(数据库引擎的默认级别)可重复读可序列化(隔离事务的最高级别,事务之间完全隔离)可串行化比较严谨,级别高;MySQLmysql默认的事务处理级别是'REPEATABLE-READ',也就是可重复读1.查看当前会话隔离级别select @@tx_isolation;2.查看系统当前隔离...转载 2020-04-23 14:41:10 · 774 阅读 · 4 评论 -
企业应用-构建报表
报表开发方案原创 2015-09-25 17:34:01 · 575 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.转载 2016-12-02 14:24:27 · 393 阅读 · 0 评论 -
sqlserver触发器
触发器是一种特殊类型的存储过程。触发器可包含复杂的T-SQL语句。触发器不能通过名称被直接调用,也不允许设置参数。它是建立在触发事件上的。 触发器可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加功能。 触发器的分类: DML、 DDL、 登录触发器 创建触发器需要指定的选项: 1.触发器的名称。转载 2016-12-06 15:25:51 · 1047 阅读 · 0 评论 -
Reporting Service 2012 体系结构
Reporting Service 2012 体系结构转载 2017-04-17 11:50:24 · 723 阅读 · 0 评论 -
数据库备份,数据库镜像,数据库读写分离的介绍
sqlserver2008R21.数据库备份和恢复模式1.1备份方式 SQLServer2008提供了四种备份方式:完整备份、差异备份、事务日志备份、文件和文件组备份。 完整备份 备份整个数据库的所有内容,包括事务日志。该备份类型需要比较大的存储空间来存储备份文件,备份时间也比较长,在还原数据时,也只要还原一个备份文件。 差异备份原创 2017-09-05 15:27:20 · 4593 阅读 · 1 评论 -
sql语句集锦
一、主要是需要更新mssqlServer 的时候需要进行一些是否存在的判断,在mssql2005 和 2008 上测试没有问题--//判断是表Table_UserInfo里是否有字段if not exists(select * from syscolumns where id=object_id('Table_UserInfo') and name='Tel') beginALTER...原创 2010-04-23 15:17:00 · 1641 阅读 · 1 评论 -
转:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek
0.参考文献Table Scan, Index Scan, Index SeekSQL SERVER – Index Seek vs. Index Scan – Diffefence and Usage – A Simple Noteoracle表访问方式Index Seek和Index Scan的区别以及适用情况1.oracle中的表访问方式在oracle中有表访问方式的...转载 2018-08-02 09:34:07 · 385 阅读 · 1 评论 -
sqlserver 邮件提醒(sql 转换 成html table)
1.将查询语句结果集封装成html table2.将结果放入到待发送表中 3.通过sqlserver定时job循环表,调用邮件组件发送提醒邮件。 /*调用示例*/ --根据sql语句,将指定邮件信息插入待发送邮件列表 --此种情况仅时候管理员提醒,收件人是参数指定 EXEC [P_Monitor_NewOfferAlertToAdminByDate] '2014-4-1...原创 2018-09-28 14:41:48 · 1519 阅读 · 2 评论 -
Sql事务锁
Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim (Msg 1205)“Transaction was deadlocked” error occurs when two or more session...转载 2018-12-19 20:36:49 · 3969 阅读 · 0 评论 -
sql server在高并发状态下同时执行查询与更新操作时的死锁问题
最近在项目上线使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁。通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了。由于得不到锁,后面的Commit无法执行,这样双方开始死锁。但是select语句和update语句同时执行,怎么会发生死锁呢?看完下面的分析,你会明白的… 首先看到代码中使用的查询的方法Sel...转载 2019-07-08 15:35:02 · 4606 阅读 · 0 评论 -
mysql 慢查询分析
mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中。long_query_time的默认值是10,意思是运行10S之上的语句。慢查询日志的设置--查看是否开启慢查询日志命令:show variables like '%slow_query_log%'-...原创 2019-08-09 15:06:12 · 186 阅读 · 0 评论 -
mysql集群与分布式数据库的区别
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Re...转载 2019-08-29 20:13:29 · 13232 阅读 · 3 评论 -
sql注入数据库修复方法
sql 注入 数据库修复原创 2013-09-26 10:40:27 · 2485 阅读 · 0 评论 -
sql函数使用实例 select fd1,fd1,dbo.isNullOrEmpty(fdClass,'无类别') from [tableName]
为sqlserver写了一个isNullOrEmpty函数sql server中有个函数isNull,接收两个参数,isNull(a,b)的返回值是这样的:如果a为null,这返回b,否则返回a比如isnull(null,'qq')返回qq,isnull('','qq')返回''有时候我们想如果a为空字符串的时候也返回b,即func('','qq')返回qq,那么sqlserv原创 2012-11-11 18:01:12 · 1734 阅读 · 0 评论 -
全文索引
全文索引 一:简要介绍下全文索引可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行二:全文索引的相关操作1.确认全文索引是否开启对于SQL2005每个创转载 2009-05-20 15:34:00 · 683 阅读 · 0 评论 -
sqlserver2005 的分页测试 附上 分页存储过程
直接贴测试的sql脚本--数据表Table10001数据量60万 -- 结论1:在1000页以内翻页两种方法没有区别 -- 两个top分页方法是在 (1w)1500毫秒,最后一页(3140毫秒)select drid,title ,year -- ROW_NUMBER分页方法在(1w)1000毫秒 ,最后一页(1576毫秒)select drid,title ,year原创 2009-08-21 15:05:00 · 681 阅读 · 0 评论 -
在存储过程中使用游标循环表,组织数据
主要是介绍了在存储过程中如何创建表,插入数据和利用游标来遍历表,然后擦划入到创建的临时表里面,最后选择出来!这个作用是根据员工的身份证号码 获取员工的生日,还有生日距离天数,主要适用内地的居民身份证 环境:ms的sqlserver2005 存储过程:-- =============================================-- Author:ch原创 2009-10-28 13:10:00 · 2743 阅读 · 0 评论 -
asp 汉字转拼音-多音字的处理
2008年4月份的时候 ,我在asp当中遇到一个问题,就是汉字转为拼音的问题,里面需要处理多音字! 在sql2000数据库当中存着汉字的对应的拼音是这样的 Id Hanzi Pinyin 1 啊 a e 2 你 ni 3 重 chong zhong 4 … … 实原创 2009-11-16 15:01:00 · 2503 阅读 · 1 评论 -
SQL Server中存储过程比直接运行SQL语句慢的原因
在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点:1. 存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2. 经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。当对数据库进行复杂操作时(如对多个表进行转载 2010-01-28 16:18:00 · 829 阅读 · 0 评论 -
MS SQL SERVER数据库备份BAK还原数据库
MS SQL SERVER数据库备份BAK还原数据库由于数据误操作,想恢复一下操作前的数据。于是新建了一个空数据库。使用原来的备份文件 bak。来恢复成一个新的数据库。这样就可以手动恢复数据了。但是在恢复新建数据库的时候总是不成功,提示错误入下:The backup set holds a backup of a database other than the原创 2009-11-30 14:05:00 · 2758 阅读 · 0 评论 -
聚焦索引与非聚焦索引及其查询效率
聚焦索引与非聚焦索引及其查询效率随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各转载 2009-12-04 13:50:00 · 726 阅读 · 0 评论 -
SQLServer索引调优实践(2) - 索引覆盖
继续SQLServer索引调优实践。这次探讨一下索引覆盖 - SQL Server主要使用索引去查询你需要的数据,当索引包括所有的你请求查询的字段,SQL Server将不需要去在表中查询。这个概念称做“索引覆盖”。SQLServer2005的Non-clustered INDEX增加了一个“包含列(included column)”选项。在 SQL Server 2005中,可以转载 2009-12-16 21:05:00 · 1520 阅读 · 0 评论 -
SQLServer索引调优实践(1)
索引的重要性数据库性能优化中索引绝对是一个重量级的因素,可以说,索引使用不当,其它优化措施将毫无意义。聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序与数据物理排列顺序无关。举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就转载 2009-12-16 19:27:00 · 821 阅读 · 0 评论 -
sql2005 返回游标参数的存储过程 【CURSOR VARYING OUTPUT】
sql2005 返回游标参数的存储过程 【CURSOR VARYING OUTPUT】原创 2011-02-24 19:46:00 · 5078 阅读 · 1 评论 -
SQLServer索引调优实践(3)-SQL Server创建索引
SQLServer索引调优实践(3)-SQL Server创建索引转载 2011-04-21 16:32:00 · 673 阅读 · 0 评论 -
sql2000和sql2005的特性
1.问题出现的原因是因为sql server 2000不支持text类型的字段更新这点上与sqlserver2005略有不同。 Text类型转成其他类型(int等)Text类型转成本身的类型Sql server 2000不支持不支持Sql server 2005不支持原创 2012-07-26 12:48:17 · 673 阅读 · 0 评论 -
自动生成测试数据
简介 在实际的开发过程中。很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试。而生成的测试数据往往需要符合特定规则。虽然可以自己写一段程序来进行插入数据,但每一个项目就写一个插入数据的程序并不明智。本文主要介绍使用VS2010的数据生成计划在SQL Server中生成测试数据。 生成测试数据的方法 1.手动编辑 在开发过程中,转载 2012-08-17 16:36:52 · 6647 阅读 · 0 评论 -
海量数据查询
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:select * from table1 where name=zhangsan and tID > 10000 和执行:select * from table1 where tID > 10000 and name=zhangsan 一些人不知道以转载 2008-10-13 16:45:00 · 906 阅读 · 0 评论