Меню

Sql как создать счетчик

Как добавить счетчик (автоинкремент) в запрос

8 ответов

Ох. Уважаемый, сколько же писать о том что нужно дать более полную информацию.

Какую БД Вы используете.

в запрос типа select никак

Вот здесь по transact-SQL

В MySQL есть параметр AUTO_INCREMENT.

если конкретнее то вот

Извините, забыл. FireBird 2.0.
Где-то на этом форуме видел, вроде Охотник333 приводил пример, но найти, к сожалению, не могу =(

Вот два примера. Но прикрутить к себе пока не хватает мозгов.

1) через подзапрос во фразе SELECT:

select (
select count(1)
from t t2
where t1.name >= t2.name
) as rn,
name,
age
from t t1

2) через селф-джойн и группировку:

select count(1) as rn,
t1.name,
t1.age
from t t1
join t t2
on t1.name >= t2.name
group by t1.name, t1.age

если у вас не существует счётчика, то запросом типа select вы его не создадите.
Для этих целей существует запрос ALTER TABLE (о конструкции написано выше)

Функция count() Calculates the number of rows that satisfy a query’s search condition. Available in SQL,DSQL, and isql. Это немного не то что Вы хотите.

Это ссылка на документацию
Это ссылка на FAQ с ответом на ваш вопрос, хотя на мой взгляд как то коряво. Использование тригера для автовычисляемых полей это не выход

Мне кажется здесь возникло непонимание нужд автора. Насколько я понял речь не идет об автоинкрементном поле в таблице, а идет о нумерации строк в выборке. Т.е. генераторы тут не при чем.
Вариантов вижу несколько:
1. Использовать хранимую процедуру, и делать выборку из нее.
2. Исользовать запросы, которые вы привели, если их можно модифицировать под ваши нужды. Но ИМХО, самообъединение таблиц для получения номера строки не самый быстродейственный вариант.
3. Нумеровать строки непосредственно в клиентском приложении.

P.S. Не в курсе последних версии FireBird, может там наконец появилась конструкция по аналогии с rownum в Оракле.

mysql> set @var:=0;
Query OK, 0 rows affected (0.00 sec)

Источник



Счетчики производительности Performance Counters

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory Azure-SSIS Integration Runtime в Фабрике данных Azure SSIS Integration Runtime in Azure Data Factory

Службы Integration Services Integration Services устанавливают набор счетчиков производительности, предназначенных для наблюдения за производительностью подсистемы обработки потока данных. installs a set of performance counters that you can use to monitor the performance of the data flow engine. Например, наблюдая за счетчиком «Выгружено буферов», можно определить, записываются ли временно на диск буфера данных при выполнении пакета. For example, you can watch the «Buffers spooled» counter to determine whether data buffers are being written to disk temporarily while a package is running. Такая выгрузка снижает производительность и указывает на недостаточный объем памяти компьютера. This swapping reduces performance and indicates that the computer has insufficient memory.

ПРИМЕЧАНИЕ. Если установить службы Службы Integration Services Integration Services на компьютер, где запущена ОС Windows Server 2003 Windows Server 2003 , а затем обновить ОС до Windows Server 2008 Windows Server 2008 , то в процессе обновления из компьютера будут удалены счетчики производительности Службы Integration Services Integration Services . NOTE: If you install Службы Integration Services Integration Services on a computer that is running Windows Server 2003 Windows Server 2003 , and then upgrade that computer to Windows Server 2008 Windows Server 2008 , the upgrade process removes the Службы Integration Services Integration Services performance counters from the computer. Чтобы восстановить счетчики производительности служб Службы Integration Services Integration Services на компьютере, запустите средство установки SQL Server SQL Server в режиме исправлений. To restore the Службы Integration Services Integration Services performance counters on the computer, run SQL Server SQL Server Setup in repair mode.

В следующей таблице приводятся описания счетчиков производительности. The following table describes the performance counters.

Читайте также:  Сняли пломбу с электросчетчика что делать
Счетчик производительности Performance counter Описание Description
Считано байтов BLOB BLOB bytes read Число байт данных BLOB, которое подсистема обработки потока данных считала из всех источников. The number of bytes of binary large object (BLOB) data that the data flow engine has read from all sources.
Записано байтов BLOB BLOB bytes written Число байтов данных BLOB, которые подсистема обработки потока данных записала во все назначения. The number of bytes of BLOB data that the data flow engine has written to all destinations.
Используется файлов BLOB BLOB files in use Количество BLOB-файлов, использованных в текущий момент подсистемой обработки потока данных для буферизации. The number of BLOB files that the data flow engine currently is using for spooling.
Память буферов Buffer memory Объем используемой памяти. The amount of memory that is in use. Включает как физическую, так и виртуальную память. This may include both physical and virtual memory. Если значение больше, чем объем физической памяти, счетчик Выгружено буферов увеличивается как признак увеличения памяти подкачки. When this number is larger than the amount of physical memory, the Buffers Spooled count rises as an indication that memory swapping is increasing. Увеличение памяти подкачки замедляет производительность подсистемы обработки потока данных. Increased memory swapping slows performance of the data flow engine.
Используется буферов Buffers in use Количество объектов буферов всех типов, используемых в текущий момент подсистемой обработки потока данных и компонентами потока данных. The number of buffer objects, of all types, that all data flow components and the data flow engine is currently using.
Выгружено буферов Buffers spooled Количество буферов, записанных на диск в текущий момент. The number of buffers currently written to the disk. Если подсистеме обработки потока данных не хватает оперативной памяти, буферы, не используемые в данный момент, записываются на диск и повторно загружаются в память при необходимости. If the data flow engine runs low on physical memory, buffers not currently used are written to disk and then reloaded when needed.
Память плоских буферов Flat buffer memory Общий объем памяти в байтах, используемой всеми плоскими буферами. The total amount of memory, in bytes, that all flat buffers use. Плоские буфера — это блоки памяти, которые компонент использует для сохранения данных. Flat buffers are blocks of memory that a component uses to store data. Плоский буфер — большой блок байтов, к которому обращаются байт за байтом. A flat buffer is a large block of bytes that is accessed byte by byte.
Используется плоских буферов Flat buffers in use Количество плоских буферов, использованных подсистемой обработки потока данных. The number of flat buffers that the Data flow engine uses. Все плоские буферы являются частными буферами. All flat buffers are private buffers.
Память частных буферов Private buffer memory Общий объем памяти, использованной всеми частными буферами. The total amount of memory in use by all private buffers. Буфер не является частным, если подсистема обработки потока данных создает его для поддержки потока данных. A buffer is not private if the data flow engine creates it to support data flow. Частный буфер — это буфер, который используется преобразованием только для временной работы. A private buffer is a buffer that a transformation uses for temporary work only. Например, преобразование «Статистическая обработка» использует частные буферы для выполнения своей работы. For example, the Aggregation transformation uses private buffers to do its work.
Используется частных буферов Private buffers in use Количество буферов, используемых преобразованиями. The number of buffers that transformations use.
Считано строк Rows read Количество строк, выдаваемых источником. The number of rows that a source produces. Количество не включает строки, считанные из ссылочных таблиц преобразованием «Уточняющий запрос». The number does not include rows read from reference tables by the Lookup transformation.
Записано строк Rows written Количество строк, предложенных для назначения. The number of rows offered to a destination. Это число не несет сведений о строках, записанных в целевое хранилище данных. The number does not reflect rows written to the destination data store.

Используйте оснастку консоли управления MMC для быстрого создания журнала, собирающего данные счетчиков производительности. You use the Performance Microsoft Management Console (MMC) snap-in to create a log that captures performance counters.

Сведения об улучшении производительности см. в разделе Возможности для повышения производительности потока данных. For information about how to improve performance, see Data Flow Performance Features.

Получение статистики счетчика производительности Obtain Performance Counter Statistics

Для проектов Службы Integration Services Integration Services , которые развертываются на сервере Службы Integration Services Integration Services , статистику счетчика производительности вы можете получить с помощью функции dm_execution_performance_counters (база данных SSISDB). For Службы Integration Services Integration Services projects that are deployed to the Службы Integration Services Integration Services server, you can obtain performance counter statistics by using the dm_execution_performance_counters (SSISDB Database) function.

В следующем примере функция возвращает статистику для запущенного выполнения с идентификатором 34. In the following example, the function returns statistics for a running execution with an ID of 34.

В следующем примере функция возвращает статистику для всех выполнений, запущенных на сервере Службы Integration Services Integration Services . In the following example, the function returns statistics for all the executions running on the Службы Integration Services Integration Services server.

ВАЖНО! IMPORTANT!! Для члена роли базы данных ssis_admin возвращается статистика производительности всех активных выполнений. If you are a member of the ssis_admin database role, performance statistics for all running executions are returned. Если пользователь не является членом роли базы данных ssis_admin , возвращается статистика производительности активных выполнений, для которых имеются разрешения на чтение. If you are not a member of the ssis_admin database role, performance statistics for the running executions for which you have read permissions, are returned.

См. также Related Content

Добавление журнала для счетчиков производительности потока данных Add a Log for Data Flow Performance Counters

В этой процедуре описывается добавление журнала для счетчиков производительности, поставляемых подсистемой обработки потока данных. This procedure describes how to add a log for the performance counters that the data flow engine provides.

Если установить службы Службы Integration Services Integration Services на компьютер, где запущена ОС Windows Server 2003 Windows Server 2003 , а затем обновить ОС до Windows Server 2008 Windows Server 2008 , то в процессе обновления из компьютера будут удалены счетчики производительности Службы Integration Services Integration Services . If you install Службы Integration Services Integration Services on a computer that is running Windows Server 2003 Windows Server 2003 , and then upgrade that computer to Windows Server 2008 Windows Server 2008 , the upgrade process removes the Службы Integration Services Integration Services performance counters from the computer. Чтобы восстановить счетчики производительности служб Службы Integration Services Integration Services на компьютере, запустите средство установки SQL Server SQL Server в режиме исправлений. To restore the Службы Integration Services Integration Services performance counters on the computer, run SQL Server SQL Server Setup in repair mode.

Добавление ведения журнала счетчиков производительности To add logging of performance counters

Если используется классический вид панели управления, выберите Администрирование. In Control Panel, if you are using Classic view, click Administrative Tools. Если используется вид по категориям, выберите вначале Производительность и обслуживание , затем Администрирование. If you are using Category view, click Performance and Maintenance and then click Administrative Tools.

Выберите Производительность. Click Performance.

В диалоговом окне Производительность разверните Оповещения и журналы производительности, щелкните правой кнопкой мыши Журналы счетчикови выберите Новые параметры журнала. In the Performance dialog box, expand Performance Logs and Alerts, right-click Counter Logs, and then click New Log Settings. Введите имя журнала. Type the name of the log. Например, введите Мой_журнал. For example, type MyLog.

Нажмите кнопку ОК. Click OK.

В диалоговом окне Мой_журнал нажмите кнопку Добавить счетчики. In the MyLog dialog box, click Add Counters.

Щелкните Использовать локальные счетчики , чтобы вести журнал счетчиков производительности на локальном компьютере, или Выбрать счетчики с компьютера и выберите из списка компьютер, на котором требуется вести журнал счетчиков производительности. Click Use local computer counters to log performance counters on the local computer, or click Select counters from computer and then select a computer from the list to log performance counters on the specified computer.

В диалоговом окне Добавить счетчики из списка Объект: выберите SQL Server:SSIS Pipeline . In the Add Counters dialog box, select SQL Server:SSIS Pipeline in the Performance object list.

Чтобы выбрать счетчики производительности, выполните одно из следующих действий: To select performance counters, do one of the following:

Выберите Все счетчики , чтобы вести журналы всех счетчиков производительности. Select All Counters to log all performance counters.

Выберите Выбрать счетчики из списка , чтобы выбрать нужные счетчики производительности. Select Select counters in list and select the performance counters to use.

Нажмите кнопку Добавить. Click Add.

Щелкните Закрыть. Click Close.

В диалоговом окне Мой_журнал проверьте список счетчиков производительности в списке Счетчики . In the MyLog dialog box, review the list of logging performance counters in the Counters list.

Чтобы ввести дополнительные счетчики, повторите шаги с 5 по 10. To add additional counters, repeat steps 5 through 10.

Нажмите кнопку ОК. Click OK.

Необходимо запустить службу «Журналы и оповещения производительности» с помощью локальной учетной записи или учетной записи домена, входящей в группу «Администраторы». You must start the Performance Logs and Alerts service using a local account or a domain account that is a member of the Administrators group.

Источник