Попробуйте entry_points.console_scripts
параметр в установке () вызов. Как описано в setuptools документы , это должно сделать то, что я думаю, что Вы хотите.
Для репродуцирования здесь:
from setuptools import setup
setup(
# other arguments here...
entry_points = {
'console_scripts': [
'foo = package.module:func',
'bar = othermodule:somefunc',
],
}
)
Согласно передовой практике, вам не нужно создавать индекс при определении схем таблиц. Всегда лучше создавать индекс при создании запросов в приложении. В большинстве случаев вы начнете с индекса из одного столбца, чтобы удовлетворить запрос. Если вы хотите использовать в запросе много столбцов, вы можете создать покрывающий индекс.
Покрывающий индекс - это индекс с двумя или более столбцами в нем. Если индекс удовлетворяет всем требованиям столбца запроса, то подсистема хранения может получить все результаты из индекса, вместо того, чтобы запускать операцию дискового ввода-вывода. Таким образом, при создании запроса, в котором используется больше столбцов, вы можете либо создать новый индекс, охватывающий все необходимые столбцы, либо расширить существующий индекс, включив в него больше столбцов.
При выполнении любого из них необходимо учитывать некоторые соображения. из вышеперечисленных. MySQL рассматривает индекс только тогда, когда в запросе может использоваться крайний левый столбец индекса. В противном случае он просто ищет всю таблицу для получения результатов. Поэтому, если вы можете расширить существующий индекс, не затрагивая все запросы, использующие этот индекс, это будет разумным выбором. В противном случае вы можете продолжить и создать новый индекс для нового запроса. Иногда запросы можно настроить для адаптации к структуре индекса.
Индекс ускоряет выбор, но замедляет вставки и обновления. Вам не нужно создавать индекс для каждой возможной комбинации столбцов, которую вы можете вообразить. Обычно я просто создаю очевидные индексы, которые, как я знаю, буду часто использовать, и добавляю их только в том случае, если я вижу, что они необходимы после измерения производительности. База данных может использовать индекс, даже если он не охватывает все столбцы в запросе.
и добавляю только если я увижу, что они нужны после измерения производительности. База данных может использовать индекс, даже если он не охватывает все столбцы в запросе. и добавляю только если я увижу, что они нужны после измерения производительности. База данных может использовать индекс, даже если он не охватывает все столбцы в запросе.В запросе всегда используется только один индекс. К счастью, вы можете создать индекс, охватывающий несколько столбцов:
ALTER TABLE widgets ADD INDEX name_and_price_index(widget_name, widget_price);
Указанный выше индекс будет использоваться, если вы ВЫБИРАете по widget_name или widget_name + widget_price (но не только widget_price).
Как указывает Митмаро, используйте EXPLAIN в запросе, чтобы увидеть, из каких индексов должен выбрать MySQL, а также какой индекс он будет использовать. См. здесь для получения более подробной информации.