Вот сценарий 1.Оптимизировать процесс поиска MySQL
У меня есть таблица под названием «элементы», внутри таблица имеет 2 колонки, д. г. item_id
и item_name
. Я храню данные таким образом: item_id | item_name
Ss001 | Shirt1
Sb002 | Shirt2
Tb001 | TShirt1
Tm002 | TShirt2
... и т.д., я хранить таким образом: первой буква кода для одежды, то есть S для рубашки, T для тенниски второго письма размера, т.е. s для малых, м для среднего и b для больших Давайте скажем, что в моей таблице предметов я получил 10 000 предметов. Я хочу сделать быстро получить, позволяет сказать, что я хочу, чтобы найти определенную рубашку, я могу использовать:
Method1:
SELECT * from items WHERE item_id LIKE Sb99;
или я должен сделать это нравится:
Method2:
SELECT * from items WHERE item_id LIKE S*;
* Сохраните результат, затем выполните второй поиск размера, затем третий поиск идентификатора. Как и концепция хэш-таблицы. То, что я хочу достичь, вместо поиска всех данных, я хочу свести к минимуму поиск путем поиска кода одежды сначала, следуйте по размеру кода, а затем по идентификационному коду. Какой из них лучше с точки зрения скорости в mysql. И какой из них лучше в долгосрочной перспективе. Я хочу уменьшить трафик и не беспокоить базу данных так часто.
Спасибо, ребята, за решение моего первого сценария. Но другой сценарий приходит в:
Сценарий 2:
Я использую PHP и MySQL. Продолжайте рассказ. Если моя пользователи структура таблицы выглядит так:
user_id | username | items_collected
U0001 | Alex | Ss001;Tm002
U0002 | Daniel | Tb001;Sb002
U0003 | Michael | ...
U0004 | Thomas | ...
Я хранить items_collected в виде идентификатора, потому что один день каждый пользователь может получить до сотни пунктов, если хранить в виде строки, т.е. Shirt1, pants2, ..., для этого потребовалось бы очень большое количество пространств баз данных (представьте, если у нас 1000 пользователей, а некоторые элементы - очень длинные).
Было бы проще сохранить, если я сохраню в виде id?
И если позволяет сказать, я хочу отобразить изображение, а имя изображения - это имя элемента + jpg. Как это сделать? Это что-то вроде этого:
$ Результат = Выберите items_collected от пользователей, где UserID = $ Идентификатор_пользователя
Использование PHP взрываются:
$ itemsCollected = взорваться ($ результат, ";");
После этого, соответствие каждого элемента в таблице пунктов, поэтому он хотел бы:
shirt1, pants2 и т.д.
Ден с помощью функции петли, петли каждое значение и добавить «.jpg», чтобы отобразить изображение ?
для точного соответствия вы можете: WHERE item_id = 'Sb99' (не забывайте котировки) – tehvan