Откройте Терминал в соответствии с Приложениями> Аксессуары> Терминал и выполните следующие команды:
sudo apt-get install libdvdnav4 libdvdread4 gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly
sudo /usr/share/doc/libdvdread4/install-css.sh
Ссылка:
Это должно охватывать то, что вы ищете. т.е. таблицы, которые представляют собой кучи (без кластеризованного индекса) и не имеют некластеризованных индексов. Он использует новый sys. объекты таблиц, использованные в 2005/2008.
Кроме того, вы, вероятно, захотите найти таблицы, которые имеют кластерный индекс, но не имеют некластеризованных индексов (это вторая часть утверждения, которую я оставил закомментированной.
SELECT
schemaname = OBJECT_SCHEMA_NAME(o.object_id)
,tablename = o.NAME
FROM sys.objects o
INNER JOIN sys.indexes i ON i.OBJECT_ID = o.OBJECT_ID
-- tables that are heaps without any nonclustered indexes
WHERE (
o.type = 'U'
AND o.OBJECT_ID NOT IN (
SELECT OBJECT_ID
FROM sys.indexes
WHERE index_id > 0
)
)
-- OR
-- table that have a clustered index without any nonclustered indexes
--(o.type='U'
-- AND o.OBJECT_ID NOT IN (
-- SELECT OBJECT_ID
-- FROM sys.indexes
-- WHERE index_id>1))
select shema = s.name, table_name = o.name
from sys.objects o
join sys.schemas s on o.schema_id = s.schema_id
where type = 'U'
and not exists (select i.index_id
from sys.indexes i
where i.type <> 0 --ignore default heap index row
and o.object_id = i.object_id )
Редактировать:
Я обновил SQL, чтобы включить в него имя схемы по запросу. (Обратите внимание, что мне пришлось использовать sys.objects вместо sysobjects для обслуживания схем, которые были введены в SQL 2005)
Таблицы каталога задокументированы в документации SQL Server, см. по этой ссылке.
Этот FAQ содержит больше примеров и также может быть полезен.
Обратите внимание, что это системные таблицы, которые могут меняться между версиями SQL-сервера, где возможно, лучше используйте системные представления, не зависящие от таблиц, называемые Представления информационной схемы .
Соглашение, которое мы используем там, где я работаю, довольно близко к A, за исключением того, что мы называем таблицы во множественном числе (то есть «сотрудники») и используем подчеркивание между именем таблицы и столбца. . Преимущество этого метода в том, что для ссылки на столбец это либо «employee _ id», либо «employee.id», в зависимости от того, как вы хотите получить к нему доступ. Если вам нужно указать, из какой таблицы берется столбец, "employee.employees _ id" определенно избыточно.
dm_db_missing_index_columns (index_handle) - возвращает информацию о столбцах таблицы базы данных, которые отсутствуют для индекса. Это функция, которая требует передачи index_handle.