Помогите оптимизировать заполнение таблицы данными

J
На сайте с 08.06.2006
Offline
844
583

Есть таблица

id, name

Нужно вставить в нее данные

Как будет быстрее и менее затратно по ресурсам сервера

1.


$sql_isset = mysql_query("select id from table1 where id=".$id."")

if (mysql_num_rows($sql_isset)==0)
{
mysql_query("insert into table1 values (id,name) ");
другие действия
}

2. сделать по id уникальный индекс

if (!mysql_query("select id from table1 where id=".$id.""))
{
mysql_query("insert into table1 values (id,name) ");
другие действия
}
TF-Studio
На сайте с 17.08.2010
Offline
334
#1

insert ignore быстрее будет и проще, если я правильно понял задачу

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
J
На сайте с 08.06.2006
Offline
844
#2
TF-Studio:
insert ignore быстрее будет и проще, если я правильно понял задачу

немного не правильно понял

мне условие когда запись есть тоже нужно обработать

Russ1an
На сайте с 25.03.2015
Offline
60
#3

Вы замерьте скорость выполнения) а вообще оба варианта вряд ли создадут значительную нагрузку, используйте любой. И да, сейчас принято использовать pdo для работы с базой.

Достойный дом для любимых проектов https://clck.ru/PT7Vo
LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#4

Лучше сделать:

SELECT COUNT(*)

тогда будет быстрее проверятся.

А так лучше второй вариант т.к. меньше функций, mysql_query и так вернёт ответ.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
LD
На сайте с 28.05.2012
Offline
86
#5
LEOnidUKG:
Лучше сделать:

SELECT COUNT(*)

тогда будет быстрее проверятся.

А так лучше второй вариант т.к. меньше функций, mysql_query и так вернёт ответ.

поддерживаю, SELECT COUNT(*) будет ЗНАЧИТЕЛЬНО быстрее

Простая CMS для сложных решений - NespiCMS (http://www.nespicms.com) Создание сайтов любой сложности (http://www.ideyne.com) Портал для туристов (http://www.hotelguide.com.ua)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий