Естественный вид в MySQL

Недавно я открыл (для Java) инструмент под названием Threadsafe. Это инструмент статического анализа, похожий на findbugs, но специально для выявления многопоточных проблем. Это не замена для тестирования, но я могу порекомендовать его как часть надежной многопоточной Java.

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

Если вы пишете многопоточную Java , сделайте снимок.

74
задан BlaM 30 September 2008 в 15:42
поделиться

6 ответов

Я думаю, что это - то, почему много вещей отсортировано по дате выпуска.

решение для А могло состоять в том, чтобы создать другой столбец в Вашей таблице для "Ключа сортировки". Это могло быть санированной версией заголовка, который соответствует шаблону, который Вы создаете для легкой сортировки или счетчика.

21
ответ дан Michael Haren 7 November 2019 в 07:27
поделиться

Добавьте поле для "ключа сортировки", который имеет все строки цифр, дополненных нулем к фиксированной длине и затем виду на том поле вместо этого.

, Если у Вас могли бы быть длинные строки цифр, другой метод должен предварительно ожидать количество цифр (фиксированная ширина, дополненная нулем) к каждой строке цифр. Например, если бы у Вас не будет больше чем 99 цифр подряд, затем для "Супер Уничтожения, 10 Крайними" ключ сортировки было бы "Супер Уничтожение 0210 Крайних".

4
ответ дан tye 7 November 2019 в 07:27
поделиться

Другая опция состоит в том, чтобы сделать сортировку в памяти после получения по запросу данных из mysql. В то время как это не будет наилучший вариант из точки зрения производительности, если Вы не отсортируете огромные списки, необходимо быть в порядке.

, Если Вы смотрите на сообщение Jeff, можно найти много алгоритмов для того, с чем когда-либо язык Вы могли бы работать. Сортировка для Людей: Естественный Порядок сортировки

4
ответ дан Cœur 7 November 2019 в 07:27
поделиться
  1. Добавляют Ключ сортировки (Разряд) в Вашей таблице. ORDER BY rank

  2. Используют столбец "Release Date". ORDER BY release_date

  3. При извлечении данных из SQL, заставьте объект сделать сортировку, например, при извлечении в Набор, сделать его TreeSet и заставить модель данных реализовать Сопоставимый и выполнить естественный алгоритм сортировки здесь (вид вставки будет достаточен, используете ли Вы язык без наборов), поскольку Вы будете читать строки из SQL один за другим, поскольку Вы создаете свою модель и вставляете ее в набор)

5
ответ дан JeeBee 7 November 2019 в 07:27
поделиться

Просто найденный этим:

SELECT names FROM your_table ORDER BY games + 0 ASC

Делает естественный вид, когда числа в передней стороне, мог бы работать в течение середины также.

52
ответ дан 7 November 2019 в 07:27
поделиться

MySQL не позволяет этот вид "естественной сортировки", таким образом, это похоже на лучший способ получить то, что Вы, после должен разделить Ваш набор данных, как Вы описали выше (отдельное идентификационное поле, и т.д.), или сбой, что, выполните вид на основе элемента незаголовка, индексированного элемента в Вашем дб (дата, вставил идентификатор в дб, и т.д.).

Наличие дб делает сортировка для Вас почти всегда будет более быстрой, чем чтение больших наборов данных на Ваш предпочтительный язык программирования и сортировку его там, поэтому если Вы будете иметь какой-либо контроль в на всем протяжении схемы дб здесь, тогда будете смотреть на добавление легко отсортированных полей, как описано выше, это сохранит Вас много стычки и обслуживания в конечном счете.

Запросы для добавления "естественного вида" время от времени подходят на ошибки MySQL и дискуссионные форумы , и много решений вращаются вокруг снятия определенных частей данных и кастинга их для ORDER BY часть запроса, например,

SELECT * FROM table ORDER BY CAST(mid(name, 6, LENGTH(c) -5) AS unsigned) 

, Этот вид решения мог примерно быть сделан работать над Заключительным Фэнтезийным примером выше, но не особенно гибок и маловероятен расшириться чисто на набор данных включая, скажем, "Warhammer 40,000" и "James Bond 007", я боюсь.

15
ответ дан ConroyP 7 November 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: