Jump to content

[Урок] Ликбез по работе с MySQL посредством функций MTA


Recommended Posts

47 minutes ago, Kernell said:

Никогда не используйте SELECT * в своих проектах, всегда указывайте реально нужные поля для выборки.

Предположим(по примеру), что мне необходимо получить id, name, surname, age, adminLevel конкретного игрока, зачем мне указывать конкретные поля для выборки, если * - это и есть все необходимые поля? Другой вопрос, если при создании таблицы создаются дополнительные колонки, например created_at, updated_at, которые нам знать не нужно. В таком случае - да, это замедлит скорость запроса, да и мы забьем память совершенно не нужной нам информацией.

SELECT * FROM `players` WHERE id=1
SELECT `id`, `name`, `surname`, `age`, `adminLevel` FROM `players` WHERE id=1

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

Edited by N1kS
Link to comment
41 minutes ago, N1kS said:

зачем мне указывать конкретные поля для выборки, если * - это и есть все необходимые поля?

1. Оптимизация. Лишняя трата ресурсов (сначала БД будет составлять список полей для запроса).
2. Улучшает читабельность кода - сразу прослеживается структура таблицы.
3. Избавит вас от ошибок типа "удалили поле в бд, а в коде оно где-то используется и не заметили".
4. Таблица может расширяться, это приведёт к передаче не нужных данных. 

 

Edited by Kernell
  • Like 1
Link to comment
  • 3 years later...

[2020-03-12 14:44:00] WARNING: [gameplay]\mysql\server.Lua:8: Bad usage @ 'dbConnect' [Can't connect to MySQL server on 'localhost' (10061)]
[2020-03-12 14:44:00] ERROR: [gameplay]\mysql\server.Lua:12: [MYSQL][ERROR] Connection failed!
[2020-03-12 14:44:08] WARNING: [gameplay]\mysql\server.Lua:8: Bad usage @ 'dbConnect' [Can't connect to MySQL server on 'localhost' (10061)]
[2020-03-12 14:44:08] ERROR: [gameplay]\mysql\server.Lua:12: [MYSQL][ERROR] Connection failed!
[2020-03-12 14:44:08] WARNING: [gameplay]\mysql\server.Lua:35: Bad argument @ 'dbQuery' [Expected db-connection at argument 3, got boolean]
[2020-03-12 14:44:15] WARNING: [gameplay]\mysql\server.Lua:8: Bad usage @ 'dbConnect' [Can't connect to MySQL server on 'localhost' (10061)]
[2020-03-12 14:44:15] ERROR: [gameplay]\mysql\server.Lua:12: [MYSQL][ERROR] Connection failed!
[2020-03-12 14:44:22] WARNING: [gameplay]\mysql\server.Lua:8: Bad usage @ 'dbConnect' [Can't connect to MySQL server on 'localhost' (10061)]
[2020-03-12 14:44:22] ERROR: [gameplay]\mysql\server.Lua:12: [MYSQL][ERROR] Connection failed!

 

 

kak mne s etim spravitsa? 

mojno pomoci

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...