Алгоритм Начал AKS в Python

Чтобы понять , почему связывает имя таблицы (или столбца), не работает, вы должны понимать, как работают заполнители в подготовленных операциях: они не просто заменяются как строки (соответственно экранированные) , и результат SQL выполнен. Вместо этого СУБД, попросившая «подготовить» заявление, содержит полный план запросов о том, как он будет выполнять этот запрос, включая те таблицы и индексы, которые он будет использовать, которые будут одинаковыми независимо от того, как вы заполняете заполнители.

План для SELECT name FROM my_table WHERE id = :value будет таким же, как вы его замените :value, но похожее подобное SELECT name FROM :table WHERE id = :value невозможно спланировать, потому что СУБД не знает, какую таблицу вы собираетесь выбрать from.

Это не то, что библиотека абстракции, такая как PDO, может или должна работать, либо потому, что она победит две ключевые цели подготовленных операторов: 1) позволить базе данных заранее решить, как запрос будет запущен и будет использовать один и тот же план несколько раз; и 2) для предотвращения проблем безопасности путем отделения логики запроса от ввода переменной.

34
задан Claudiu 7 December 2008 в 17:41
поделиться

1 ответ

Быстрый ответ: нет, тест AKS не является самым быстрым способом протестировать простоту чисел. Существуют очень очень более быстрые тесты простоты чисел, что любой принимает (обобщенную) Riemann гипотезу и/или рандомизируется. (Например, Miller-Rabin быстр и прост реализовать.) Реальный прорыв бумаги был теоретическим, доказав, что детерминированный полиномиально-разовый алгоритм существует для тестирования простоты чисел, не принимая GRH или другие недоказанные догадки.

Однако если Вы хотите понять и реализовать его, , короткая статья Scott Aaronson могла бы помочь. Это не входит во все подробности, но можно запустить на уровне страницы 10 12, и это дает достаточно.:-) существует также список реализаций (главным образом в C++) здесь.

кроме того, для оптимизации и улучшений (несколькими порядками величины), Вы могли бы хотеть посмотреть этот отчет , или (более старый) отчет Crandall и Papadopoulos, или (более старый все еще) отчет J Bernstein Daniel. Все они справедливо детализировали псевдокод, который предоставляет себя хорошо реализации.

52
ответ дан ShreevatsaR 11 October 2019 в 07:04
поделиться
Другие вопросы по тегам:

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