FreeBSD – групповое переименование файлов

Задача: переименовать миллион файлов в папке с нумерацией по порядку:

x=1; for i in *.txt ; do mv $i $x.txt;x=$(($x+1)); done

Происходит переименованием всех файлов *.txt в их порядковые номера т.е. было:
adsa9d8sa98d.txt
sad9dad9ad99.txt
213da330dadd.txt
........

Стало:

1.txt
2.txt
3.txt
.........
1000000.txt


MySQL – дефрагментация всех таблиц


Если у вас в базе MYSQL часто меняются данные в таблицах сайта (INSERT/UPDATE/DELETE) – то дефрагментация необходима. Она освобождает память, которой иногда нам всем не хватает. Выполнять оптимизацию таблиц совсем не сложно – достаточно по крону запускать скрипт.

Простой пример на PHP:

$query = mysql_query("SHOW TABLES");
while ($table = mysql_fetch_assoc($query))
{
   foreach ($table as $db => $tablename)
   {
       mysql_query("OPTIMIZE TABLE '$tablename'")   or die(mysql_error());
   }
}


Клонирование таблиц в MySQL


Необходимо создать копию таблицы со всеми данными или же только копию структуры?
Воспользуемся стандартными запросами MySQL для этих нужд.
Как скопировать таблицу MySQL



Как узнать самые ненужные индексы в MySQL

Наверное, каждая таблица, содержит индексы. Часто, даже количество индексов может превышать количество столбцов в самой таблице.
При составлении индексов, можно создать те, которые будут практически дублировать друг-друга (встречается в составных индексах). А зачем нам тратить лишние ресурсы на обработку данных, которые нам не понадобятся?
Заинтересовал вопрос – а как можно узнать какие индексы незадействованные или мало задействованы в работе.
неиспользуемые индексы в MySQL



PHP – четное (парное) или нечетное число

Чётность в теории чисел — характеристика целого числа, определяющая его способность делиться нацело на два.
Чётное число — целое число, которое делится без остатка на 2: −4, −2, 0, 2, 4, 6, 8, …
Нечётное число — целое число, которое не делится без остатка на 2: −3, −1, 1, 3, 5, 7, 9, …

Существует несколько способов на php определить четность чисел.



MySQL Incorrect integer value

Обновили сегодня сервер MySQL до версии 5.5.28. Все сайты вроде работали отлично, пока не нужно было выполнить публикацию материалов. По умолчанию ошибки на сайте выключены и не сразу смоли разобраться в чем дело. После отладки выяснилось, что MySQL попросту отказывается вставлять запись из-за некорректно заполненного поля “сортировка”. Тип этого поля в таблице INT и по-умолчанию ставится “0″ самой базой. А так как запись новая – то в форме “сортировка” стояла пустой. Вот сервер и не захотел принимать такую запись. Печально… подумали все. Ведь тогда придется переписывать много кода. Это, конечно нужно делать, но на все сразу времени нет.

Новый сервер MySQL сервер по-умолчанию работает со включенным strict-mode. Нужно просто отключить этот режим. В нашем конфиге (по-умолчанию это my.ini (my.cnf)) нужно удалить строку:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

После изменений – сервер нужно перезапустить!



Статьи пользователей на ArtKiev Design Studio