Столбец Having is_deleted
является довольно хорошим подходом. Если бы это находится в Oracle, для дальнейшего увеличения производительности я рекомендовал бы делить таблицу путем создания раздела списка на is_deleted
столбец. Тогда удаленные и неудаленные строки физически будут в различных разделах, хотя для Вас это будет прозрачно.
В результате при вводе запроса как
SELECT * FROM table_name WHERE is_deleted = 1
тогда Oracle выполнит 'сокращение раздела' и только изучит соответствующий раздел. Внутренне раздел является различной таблицей, но это прозрачно для Вас как пользователь: Вы будете в состоянии выбрать через всю таблицу, неважно, если она будет разделена или нет. Но Oracle будет в состоянии запросить ТОЛЬКО раздел, в котором она нуждается . Например, давайте предположим, что у Вас есть 1 000 строк с is_deleted = 0
и 100 000 строк с is_deleted = 1
, и Вы делите таблицу на is_deleted
. Теперь при включении условия
WHERE ... AND IS_DELETED=0
тогда, Oracle ТОЛЬКО просканирует раздел с 1 000 строк. Если бы таблица не была разделена, она должна была бы просканировать 101 000 строк (оба раздела).
Не глядя на то, что у вас есть, я не совсем уверен, о каком поле редактирования вы имеете в виду. Однако вы можете попробовать использовать немедленное окно и вместо него DateTime.Parse
или new DateTime ()
.
You can change the date in the Immediate Window.
date = new DateTime(2009, 10, 05)
{05/Oct/2009 12:00:00 AM}
Date: {05/Oct/2009 12:00:00 AM}
Day: 5
DayOfWeek: Monday
DayOfYear: 278
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 10
Second: 0
Ticks: 633902976000000000
TimeOfDay: {00:00:00}
Year: 2009
You can type things like this in to the Immediate window, the Watch window, or the QuickWatch window and they will get evaluated:
myDate = DateTime.Today.AddDays(2)
myDate = new DateTime(2009, 12, 25)
Если вы имеете в виду отладчик Visual Studio, попробуйте следующее:
- установить точку останова
- например, откройте переменную DateTime в QuickWatch (щелкните правой кнопкой мыши)
- в текстовом поле «Выражение» введите новое значение, например, если имя вашей переменной «dt»:
dt = dt.AddDays (3)
- нажмите ввод и продолжите выполнение проекта
Часть "dt =" не является обязательной. Просто введите "dt.AddDays (3)" или "new DateTime (...)" или DateTime.Parse ("") и т. Д., И отладчик попытается присвоить переменной любое значение, полученное в результате введенного вами выражения. под вахтой; просто так получилось, что, поскольку C # имеет выражения присваивания (например, y = (x = 1); // устанавливает y = 1), присвоение выражения имени переменной работает. :)
Мы можем изменить значение DateTime прямо в окне просмотра. Уловка проста: мы всегда должны использовать метод «new DateTime ()», предоставляющий соответствующие параметры.
Окно просмотра не позволяет вам вводить новое значение напрямую, поэтому такие вещи, как «2010-07-13 9:15» или даже {13.07.2010 09:00:00}, не работают.