数据库
文章平均质量分 60
Leckun
这个作者很懒,什么都没留下…
展开
-
OceanBase的obdumper导出和obloader导入遇到的坑
解决方案:这个问题很奇怪,在windows执行脚本正常导出,在linux下执行就报内存不足,经官方指导,大概意思是线程过少时,会导致单个线程使用内存过多。参考官方FAQ:https://www.oceanbase.com/docs/enterprise-oceanbase-dumper-loader-cn-10000000001142226。要先建库才到导入,这样有点问题,咨询了官方没有导入时默认建库的参数,只能手动建。原因是脚本没有执行权限,对脚本+x添加执行权限。另外由于是执行脚本,要加上./原创 2023-04-10 18:08:58 · 5127 阅读 · 0 评论 -
SQLServer : EXEC和sp_executesql的区别
摘要1,EXEC的使用2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全...转载 2019-08-02 10:43:18 · 182 阅读 · 0 评论 -
SQL Server由表值函数引起的性能问题解决
有段SQL使用了表值函数的伪代码是这样的:select @TotalCount=count(*) from (select * from FunA(@param1) a )where a.Column1 in(select * from FunB(@param2))其中FunA和FunB是表值函数(多语句表值函数),各返回一张表,并分别对返回的表进行再次查询操作。当数据量比较大时,其中Fu...原创 2018-04-16 19:10:38 · 2516 阅读 · 0 评论 -
多语句表值函数与内联表值函数区别?
有几个例子要展示,以防万一:内联表值CREATE FUNCTION MyNS.GetUnshippedOrders()RETURNS TABLEAS RETURN SELECT a.SaleId, a.CustomerID, b.Qty FROM Sales.Sales a INNER JOIN Sales.SaleDetail b ON a.SaleId = b.S...转载 2018-04-16 19:06:37 · 6546 阅读 · 0 评论 -
SQL SERVER 从其它数据库中复制带自增ID主键的表数据
SQL SERVER两个结构相同(或不同)的表,互相导入数据,方法有两种:1、使用SQL SERVER 自带的导出、导入功能,在库名上右击,“任务”,导出数据、导入数据,这个操作具体不就不多讲了。2、使用语句直接复制,从XXX表复制数据到YYY表步骤1、首先,需要设置下插入允许自增ID。SET IDENTITY_INSERT 表名YYY ON如果提示 表 'XXX' 的原创 2018-01-25 10:59:51 · 4229 阅读 · 0 评论 -
MySQL Innodb引擎修改库名(rename schema name)
如题。很简单,停止MySQL服务后,直接到存储库所在的目录,修改和库名一致的目录名称即可。例如,在Windows下,库所在的路径为:C:\ProgramData\MySQL\MySQL Server 5.7\Data\在Data下存放不同的文件夹,这些文件夹和库名一一对应,修改对应的文件夹名称,重新启动MySQL服务即可更改库名。Linux下未测试,但应该一样。原创 2017-09-12 14:49:50 · 3925 阅读 · 1 评论 -
SQL SERVER使用STUFF函数拼接记录为逗号分隔符
STUFF字符串函数是将字符串插入到另一个字符串中。它会删除开始位置第一个字符串中的指定长度的字符,然后将第二个字符串插入到开始位置的第一个字符串中,语法如下。STUFF(<character_expression>,<开始>,<长度>,<character_expression>)<character_expression>参数是...原创 2017-08-17 11:02:25 · 30055 阅读 · 2 评论 -
VC++实现批量大容量快速插入SqlServer数据库
1. 概述使用c++访问数据库的方法很多,由于我访问的是sqlserver数据库,于是上MSDN查了一下有哪些访问技术,主要有以下几种:ODBC OLEDBADOADO是OLEDB的封装,使用起来比OLEDB方便。由于ADO比OLEDB多了一层,其速度可能不及OLEDB,所以就不考虑ADO了。数据库获取方法参考MSDN:https://msdn.microso转载 2017-06-30 16:09:42 · 5150 阅读 · 2 评论 -
sp_executesql中使用like不生效的问题解决
在sp_executesql中使用like或者not like,不知道什么原因,like不生效而且好像查询的结果是完全错误的。exec sp_executesql N'select * from T_TableName where p_name like ''@Name'' order by p_id',N'@Name nvarchar(20)',@Name=N'%测试%'正确写法:如原创 2017-04-19 09:36:25 · 2479 阅读 · 0 评论 -
存储过程使用逗号分隔作为IN参数疑难问题解决方法【真正解决】
首先,我不会令大家失望,真想解决问题的认真往下看 很久很久以前,我在使用Server的存储过程时,遇到一个问题,就是,IN(@ids)这样的语句执行不了,其实是可以执行的,很多人提出的解决方案是,EXEC(SQL),但对于像我这样的很多人来说,本来存储过程效率高是因为他预执行了一次(据说是,没验证过),反正SQL Server肯定对他有一定的优化方案。而如果使用EXEC(SQL)相...原创 2016-10-26 15:14:59 · 4010 阅读 · 2 评论 -
SQLServer找出执行慢的SQL语句
SELECT(total_elapsed_time / execution_count)/1000 N'平均时间ms',total_elapsed_time/1000 N'总花费时间ms',total_worker_time/1000 N'所用的CPU总时间ms',total_physical_reads N'物理读取总次数',total_logical_reads/execution_转载 2016-11-26 16:19:06 · 480 阅读 · 0 评论 -
存储过程Append 二进制 _ParameterPtr“不正常地定义参数对象。提供了不一致或不完整的信息”
使用ado调用存储过程,CreateParameter其中一个参数为image类型,当插入的二进制长度为空时,出现“不正常地定义参数对象。提供了不一致或不完整的信息”错误。代码如下[cpp] view plaincopySAFEARRAY *psa; SAFEARRAYBOUND rgsabound[1]; rgsabound[0转载 2015-09-01 18:50:47 · 1330 阅读 · 0 评论