我有两个数据库,一个大小为 170 MB,第二个为 15 MB,都具有 INNODB 表并innodb_buffer_pool_size
设置为 8 MB。
我的查询现在响应良好,即在几毫秒内。如果我设置的innodb_buffer_pool_size
比默认值多,对性能有什么影响吗?
我尝试了以下命令
USE <DBNAME>
SELECT 'exec master..xp_cmdshell'
+ ' '''
+ 'bcp'
+ ' ' + TABLE_CATALOG + '.' + TABLE_SCHEMA + '.' + TABLE_NAME
+ ' out'
+ ' D:\'
+ TABLE_NAME + '.csv'
+ ' -c'
+ ' -t,'
+ ' -T'
+ ' -S' + @@SERVERNAME
+ ''''
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
我想以以下格式获取数据。
格式将是管道分隔的文本文件,带有双引号文本限定符并且没有标题行。如何修改或编写 BCP 命令以获得所需的结果。
我的数据集只是一个客户表。
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany …
Run Code Online (Sandbox Code Playgroud) 我创建了一个用游标重建索引的过程。我没有正确执行,而是收到一条错误消息:
消息 2812,级别 16,状态 62
找不到存储过程
该怎么做才能摆脱这种情况呢?
USE [ACT]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[myProcedure]
AS
BEGIN
DECLARE @idx_name VARCHAR(200) -- Index name
DECLARE @tableName VARCHAR(256) -- Table Name
DECLARE @sql varchar(500)
DECLARE Index_Rebuild_Cursor CURSOR FOR
SELECT OBJECT_NAME(ps.OBJECT_ID)tbl_name,b.name idx_name
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS ps
INNER JOIN sys.indexes AS b ON ps.OBJECT_ID = b.OBJECT_ID
AND ps.index_id = b.index_id
WHERE ps.avg_fragmentation_in_percent>80
OPEN Index_Rebuild_Cursor
FETCH NEXT FROM Index_Rebuild_Cursor INTO @tableName,@idx_name
WHILE @@FETCH_STATUS = …
Run Code Online (Sandbox Code Playgroud)