От Вашего примера появляется, как будто Вы хотите выполниться, сценарий Python и иметь вывод сценария появляются в текущем буфере Vim. Если это корректно, то можно сделать следующее в командной строке в Vim:
%!python -c "for i in xrange(25): print 6*i"
-c
опция к python
дает ему сценарий для выполнения. Однако можно найти эту технику полезной только в очень простых делах, потому что в отличие от некоторых других языков, Python не предоставляет себя хорошо записи полных программ всех на одной строке.
В настоящее время (по состоянию на SQL Server 2005–2008) информация о статистике индекса SQL хранится только в памяти, поэтому вам придется выполнять часть работы самостоятельно, если вы хотите, чтобы она сохранялась в перезапускается и база данных отсоединяется.
Обычно я создаю задание, которое запускается каждый день и делает снимок информации, содержащейся в таблице sys.dm_db_index_usage_stats
, в настраиваемую таблицу, которую я создаю для рассматриваемой базы данных.
Кажется, это будет работать довольно хорошо до будущей версии SQL, которая будет поддерживать постоянную статистику использования индекса.
Вытащил этого щенка с http://blog.sqlauthority.com/2008/02/11/sql-server-2005-find-unused-indexes-of-current- база данных / . Обратите внимание, что это работает для 2005 года и выше. Ключ - это JOIN
к системной таблице SYS.DM_DB_INDEX_USAGE_STATS
.
USE AdventureWorks
GO
DECLARE @dbid INT
SELECT @dbid = DB_ID(DB_NAME())
SELECT OBJECTNAME = OBJECT_NAME(I.OBJECT_ID),
INDEXNAME = I.NAME,
I.INDEX_ID
FROM SYS.INDEXES I
JOIN SYS.OBJECTS O ON I.OBJECT_ID = O.OBJECT_ID
WHERE OBJECTPROPERTY(O.OBJECT_ID,'IsUserTable') = 1
AND I.INDEX_ID NOT IN (
SELECT S.INDEX_ID
FROM SYS.DM_DB_INDEX_USAGE_STATS S
WHERE S.OBJECT_ID = I.OBJECT_ID
AND I.INDEX_ID = S.INDEX_ID
AND DATABASE_ID = @dbid)
ORDER BY OBJECTNAME,
I.INDEX_ID,
INDEXNAME ASC
GO