У меня есть программа, которая сканирует твиттер, facebook, google + 24 часа в сутки. За пользователь А спискупоиск работает и вставлен (100 результатов в одно времени, функция работает в цикле до тех пор пока не является futher результатов)Проблема с производительностью: загрузка данных infile делает запрос выбора медленным
Yii::app()->db->createCommand(
"LOAD DATA INFILE '/var/tmp/inboxli_user".$user.".txt'
INTO TABLE inbox
FIELDS TERMINATED BY ',$%'
LINES STARTING BY 'thisisthebeginningxxx'
(created_on, created_at, tweet, tweet_id, profile_image,
twitter_user_id, screenname, followers, lang, tags, type,
positive_score, readme, answered, deleted, searchlist_id,
handled_by, used_as_newsitem, user_id)
" )->execute();
в базу данных для того, чтобы держать нагрузку как можно меньше на сервер. Когда мои функции выполняют объемную вставку, мои функции выбора выполняются очень медленно. Обычно загрузка входящих сообщений в течение 1,5 секунд, но когда вставка выполняется, иногда для открытия страницы требуется 20 секунд.
Мой вопрос, как я могу это оптимизировать? Таким образом, вставка и выбор могут использовать базу данных одновременно, не замедляя работу?
ОБНОВЛЕНИЕ: Я замечаю, что только 5 новых новостей вставляются в базу данных в моей таблице myisam при первом запуске, а во втором - нет. Так что, может быть, загрузка в файле не вставляет индексы в правильном направлении? –
Пожалуйста, предоставьте 'SHOW CREATE TABLE'. –