
SQL
文章平均质量分 71
b哈利路亚d
动画,游戏,编程....
展开
-
mysqlbinlog使用记录
mysqlbinlog使用记录原创 2023-11-20 17:08:05 · 303 阅读 · 0 评论 -
一张900w的数据表,16s执行的SQL优化到300ms?
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;原理:减少回表操作;-- 优化前SQLSEL..转载 2021-09-30 16:44:24 · 193 阅读 · 0 评论 -
sqlserver 事务日志已满解决方案
sqlserver 事务日志已满解决方案sqlserver 事务日志已满解决方案可参考这篇博客:https://www.cnblogs.com/strayromeo/p/6961758.html一.删除日志文件:(不建议)二.手动收缩:1.数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定2.右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在...转载 2020-04-15 09:31:29 · 726 阅读 · 0 评论 -
查看Sqlserver数据库存储过程执行情况的脚本
SELECT TOP 100 db_name(d.database_id) as DBName, s.name as 存储名称, s.type_desc as 存储类型, d.cached_time as SP添加到缓存的时间, d.last_execution_time as 上次执行SP的时间, d.last_elapsed_time as [上次执行...原创 2020-04-08 17:42:46 · 979 阅读 · 0 评论 -
转:表变量与临时表的优缺点
什么情况下使用表变量?什么情况下使用临时表?------------------------------------------------------------------------------------------------------------------------------表变量在批处理结束时自动被系统删除,所以你不必要像使用临时表一样显示的对它进行删除.表变量...转载 2020-03-31 14:39:18 · 573 阅读 · 0 评论 -
SQL SERVER 数据类型详解
数据类型 类型 描 述转载 2008-03-13 10:20:00 · 758 阅读 · 0 评论 -
超全超强SQL语法大全
SQL语法大全1. ASP与Access数据库连接:dim conn,mdbfilemdbfile=server.mappath("数据库名称.mdb")set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq原创 2008-03-13 10:23:00 · 758 阅读 · 0 评论 -
sql语句使用内嵌视图与临时表示例
某些时候,查询需要将数据与其他一些可能只能通过执行 GROUP BY 然后执行标准查询才能收集的数据进行联接。例如,如果要查询最新五个定单的有关信息,您首先需要知道是哪些定单。这可以使用返回定单 ID 的 SQL 查询来检索。此数据就会存储在临时表(这是一个常用技术)中,然后与 Products 表进行联接,以返回这些定单售出的产品数量:CREATE TABLE #Temp1 (OrderID原创 2008-03-13 10:12:00 · 1600 阅读 · 0 评论 -
压缩数据库
压缩数据库dbcc shrinkdatabase(dbname)原创 2008-04-29 10:02:00 · 506 阅读 · 0 评论 -
SQL Server日志清除的两种方法
在使用过程中大家经常碰到数据库日志非常大的情况,在这里介绍了两种处理方法…… 方法一: 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器--原创 2008-04-29 10:04:00 · 589 阅读 · 0 评论 -
Linux下oracle设置开机自启动的方法
方法1)、添加以下脚本到/etc/rc.d/rc.local 或/etc/rc.d/rc#设置环境变量export ORACLE_BASE=/opt/oracleexport ORACLE_HOME=/opt/oracle/product/9204export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATHexport OR原创 2008-04-29 10:14:00 · 1615 阅读 · 0 评论 -
Windows下如何彻底删除Oracle
Windows下如何彻底删除Oracle原创 2008-04-29 10:15:00 · 658 阅读 · 0 评论 -
转移数据库给新用户以已存在用户权限
exec sp_change_users_login update_one,newname,oldname go原创 2008-04-29 10:03:00 · 599 阅读 · 0 评论 -
修复数据库
ALTER DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB(dvbbs,repair_allow_data_loss) WITH TABLOCK GO ALTER DATABASE [dvbbs] SET MULTI_USER GO --CHECKDB 有3个参数: --REPAIR_ALLOW_DATA_LOSS原创 2008-04-29 10:04:00 · 500 阅读 · 0 评论 -
删除数据库中重复数据的几个方法
数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置…… 方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur原创 2008-04-29 10:05:00 · 548 阅读 · 0 评论 -
Sql Server数据库的备份和恢复措施
备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server; 2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录; 3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库; 4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添原创 2008-04-29 10:08:00 · 538 阅读 · 0 评论 -
SQL Server2000数据库文件损坏时如何恢复
出现这样的问题是比较严重的了,能否修复只能看你的运气…… SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,仅适用于非master,msdb的数据库。 说明如下: 1 建一个测试数据库test(数据库类型为完全); 2 建一个表,插入点记录: create table a(c1 varchar(2)) go insert into a v原创 2008-04-29 10:08:00 · 734 阅读 · 0 评论 -
可按任意字段排序的分页存储过程
非常好用的分页存储过程。最近做一个项目,其中有许多部分需要用到分页功能 并且这些需要分页的地方有一个共同的特点,那就是,分页,但并不是按ID(主键)来排序,而是要求按其他有重复值的列进行排序,比如,其中有一个页面,要列出将近1万条客户记录,要求按客户付费金额进行排序,这种情况,如果使用网上流行的通用分页存储过程是行不能的,比如,像下面的分页存储过程虽然很棒,可是,用在这里的话,就无计可施:(这转载 2008-04-21 13:05:00 · 800 阅读 · 1 评论 -
分页存储过程-号称最完整
缺陷之一就是主键只能有一个,而且看样子必须是递增型的数值型。 CREATE procedure [dbo].[proTableSelectPage]( @Tables varchar(1000), --表名如testtable @PrimaryKey varchar(100), --表的主键,必须唯一性 @Sort varchar(200) = NULL, --排序转载 2008-04-22 11:34:00 · 705 阅读 · 0 评论 -
SQL Server和Oracle的常用函数对比
---------数学函数 1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select f转载 2008-04-22 15:53:00 · 535 阅读 · 0 评论 -
检查备份集
检查备份集RESTORE VERIFYONLY from disk=E:/dVBbs.bak原创 2008-04-29 10:03:00 · 646 阅读 · 0 评论 -
维护SQL Server中表的索引
在使用和创建数据库索引中经常会碰到一些问题,在这里可以采用一些另类的方法解决… --第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% declare @table_id int set @table_id=object_id(表名) dbcc showcontig(@table_id) --第二步:重构表索引 dbcc dbreindex(原创 2008-04-29 10:06:00 · 486 阅读 · 0 评论 -
SQL日期格式化应用大全
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select C原创 2008-04-29 17:33:00 · 667 阅读 · 0 评论 -
SQLServer2005分解并导入xml文件
测试环境SQL2005,windows2003DECLARE @idoc int;DECLARE @doc xml; SELECT @doc=bulkcolumn FROM OPENROWSET( BULK D: /test.xml, SINGLE_BLOB) AS x EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc SELECT转载 2008-04-24 17:03:00 · 535 阅读 · 0 评论 -
Oracle常用函数
一、row_number() over()资料甲1 select column_name1,column_name,data_type, 2 row_number() over (partition by column_name1 order by column_name) row_num 3 * from test_col where rownum partition原创 2008-04-25 17:21:00 · 716 阅读 · 0 评论 -
挂起操作
在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法: 到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager 删除PendingFileRenameOperations原创 2008-04-29 10:01:00 · 614 阅读 · 0 评论 -
收缩数据库
--重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE原创 2008-04-29 10:02:00 · 448 阅读 · 0 评论 -
更改数据库中表的所属用户的两个方法
大家可能会经常碰到一个数据库备份还原到另外一台机器结果导致所有的表都不能打开了,原因是建表的时候采用了当时的数据库用户…… --更改某个表 exec sp_changeobjectowner tablename,dbo --存储更改全部表 CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVAR原创 2008-04-29 10:05:00 · 712 阅读 · 0 评论 -
SQL Server中直接循环写入数据
declare @i int set @i=1 while @ibegin insert into test (userid) values(@i) set @i=@i+1 end原创 2008-04-29 10:05:00 · 591 阅读 · 0 评论 -
无数据库日志文件恢复数据库方法两则
数据库日志文件的误删或别的原因引起数据库日志的损坏。 方法一: 1.新建一个同名的数据库; 2.再停掉SQL Server(注意不要分离数据库); 3.用原数据库的数据文件覆盖掉这个新建的数据库; 4.再重启sql server; 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名); 6.完成后一般就可以访问数据库中的数据了,这时,数据原创 2008-04-29 10:06:00 · 509 阅读 · 0 评论 -
SQL Server补丁版本的检查
SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响。 1、用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入;如果是用SQL查询原创 2008-04-29 10:06:00 · 586 阅读 · 0 评论 -
存储过程编写经验和优化措施
一、适合读者对象: 数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。 二、介绍: 在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很转载 2008-04-29 10:09:00 · 559 阅读 · 0 评论 -
ORACLE常用傻瓜问题1000问全集(一)
1. Oracle安装完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? administrator/administrator 3. orac转载 2008-04-29 10:16:00 · 710 阅读 · 0 评论 -
SQL时间函数详细说明
1. 当前系统日期、时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,2004-10-15) --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。select datediff(day,2转载 2008-04-29 17:34:00 · 863 阅读 · 0 评论 -
sqlserver 异地备份
--备份环境:把数据库服务器(192.168.1.8)的数据库(TEST)备份到(192.168.1.145)的C$下--首先,做一个与客户端的映射exec master..xp_cmdshell net use z: //192.168.1.145/c$ "密码" /user:192.168.1.145/administrator/*--说明:z:是映射网络路径对应本机的盘符,与下面的备转载 2008-05-04 16:53:00 · 801 阅读 · 0 评论 -
新手学PL/SQL
//日期格式化:to_date(2006-11-20 16:35:00,yyyy-mm-dd hh24:mi:ss) //取子串,第二个参数表示从原串的何处起取,第三个参数指子串长度:substr(abcdef,1,4)substr(ab,1,4)= ab //日期截取,即截取时间,保留时间部分:trunc(sysdate) //日期的加原创 2008-05-05 09:37:00 · 870 阅读 · 0 评论 -
新手学PL/SQL(2)
1.在存储过程中使用游标返回结果集:(1)包:create or replace package PKG_ReturnSetastype MyCurType is ref cursor;end; (2)存储过程:create or replace procedure SP_ReturnSet(p_Result out PKG_ReturnSet.MyCurType)原创 2008-05-05 09:38:00 · 580 阅读 · 0 评论 -
使用程序导出建表语句,及以Insert语句形式导出数据
前一段时间在弄数据库设计,有时要把一些数据(数据类不大)导到其它类型的数据库里,发现无论是Sql Server、Oracle、MySql,在从库中导出标准的建表和插入数据(即Insert语句)语句时,多少有些不如人意,于是结合自己的要求,自己动手写一个导出的程序。 程序在ListBox(lboxAll)中列出指定的数据库中所有的用户表名,选中要导出的表名将会被添加到另一ListBox(lb转载 2008-05-05 09:42:00 · 933 阅读 · 0 评论 -
数据表的设计原则
原创 2008-05-05 14:55:00 · 622 阅读 · 0 评论 -
sql2005 分页
-top-前n名的订单declare @n int set @n = 10 select TOP(@n) * from Orders -分页-按Freight从小到大排序,求20到30行的结果 select * from( select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) a转载 2008-07-10 13:06:00 · 578 阅读 · 0 评论