Как я могу изменить поведение DecimalFormat в зависимости от длины ввода?

У нас есть приложение с таблицей с более чем 20 столбцами, все доступные для поиска. Построение индексов для всех этих столбцов сделало бы запросы на запись очень медленными; и любой действительно полезный индекс часто должен быть по нескольким столбцам, что увеличивает количество необходимых индексов.

Однако для 95% этих поисков требуется поиск только небольшого подмножества этих строк и довольно небольшого числа - скажем, 50 000 строк.

Итак, мы рассмотрели возможность использования таблиц разделов mySQL - наличие столбца, который в основном является isActive , на который мы делим два раздела. Большинство поисковых запросов выполняются с isActive = 1 . Тогда большинство запросов будет выполняться с маленькими 50, 000 разделить строки и работать быстро без других индексов.

Единственная проблема - строки, в которых isActive = 1 не исправлено; т.е. он не основан на дате строки или чем-то подобном; нам нужно будет обновить isActive на основе использования данных в этой строке. Насколько я понимаю, это не проблема; данные будут просто перемещены из одного раздела в другой во время запроса UPDATE.

У нас есть PK на id для строки; и я не уверен, что это проблема; руководство, казалось, предполагало, что раздел должен быть основан на каких-либо первичных ключах. Это было бы огромной проблемой для нас, потому что идентификатор первичного ключа не зависит от того, является ли строка активной .

5
задан Konerak 6 January 2011 в 12:58
поделиться