WHERE `title` LIKE '%".$query."%'
- уберите полный вайлдкард, LIKE '".$query."%'
будет работать быстрее и использовать индекс, в отличие от первого варианта. У вас же не нужно выбирать "Калининград" по "град".Вопрос - сколько правильно иметь колонок и строк и общий вес базы данных?Все зависит от задач. В личном блоге достаточно пару полей и 5-7 таблиц на все сущности. В больших проектах базы и под терабайт вполне бывают, количество полей может быть очень разным.
Далее добавил различные характеристики у user.Они нужны? Они относятся именно к юзеру? Значит все нормально.
Затем еще добавил логи входов (ip, дата)Это отдельная таблица, отдельная сущность и отдельная логика. Нужна - значит добавляете.
Боюсь логами забьется на сотни тысяч строк :)Пару миллионов строк для средней базы - вполне адекватный размер, если это не какой-то мусор, а что-то важное.
Так вот как мне лучше обновить элементы с новыми порядковыми номерами, если представить что в один момент могут это делать несколько пользователей. Что бы все не запуталось.что конкретно может запутаться? В вашем случае если все могут менять, то будет работать принцип "кто последний тот и папа", не зависимо от транзакций и прочей чехарды.
Как выполнит одним запросом несколько действий MYSQL?Никак, это разные запросы с разными таблицами и разными задачами.
для снижения нагрузки на базу данных.Неужели у вас уже более 1000 запросов в секунду и необходима срочная оптимизация?
$db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
$db->query("UPDATE score SET score = score + $klik push = push + 1 WHERE vk_id = $ids LIMIT 1");
во первых - не хватает запятых между присваиваниями, во вторых SET score = score + $klik*2, push = push + 2
вот вам минус 1 запрос. В третьих - вроде используете pdo, а переменные вставляете без prepared statements...Нужно получить resources_id, resources_name,Все или по какому то критерию?
select
`resources_id`,
`resources_name`
from `resources`
количество записей в таблице statistics относящиеся к resources (/resource/ ид ресурса)
select
count(*)
from `statistics`
where `statistics_url` = '/resource/resources_id'
$query = mysql_query("UPDATE `catch` SET `hide` = '1' WHERE `id` = '$id'");
$res = mysql_query($query) or die (mysql_error());
сначала получаете селект, потом от него снова делаете запрос???$query ="
UPDATE `catch`
SET `hide` = '1'
WHERE `id` = '$id'";
var_dump($query);
$res = mysql_query($query) or die (mysql_error());
CREATE DATABASE IF NOT EXISTSсмысл понятен? Нет прав на базу, с созданием там ничего не связано, так как у вас уже есть эта бд и шаг создания игнорируется.
Access denied for user 'мой_логин'@'localhost' to database 'имя_моей_БД'