Код: Выделить всё
CREATE DEFINER=`root`@`localhost` PROCEDURE `getGeodataCoords`(IN `inDataset` INT, IN `inLat` FLOAT, IN `inLon` FLOAT)
NO SQL
SELECT lat, lon, SQRT(POW(ABS(inLat - lat), 2) + POW(ABS(inLon - lon), 2)) as distance FROM geodata WHERE dataset = inDataset ORDER BY distance ASC LIMIT 1
Каждый раз, когда пользователь нажимает на карту, выбирается ближайшая точка из таблицы и возвращается значение.
Когда я использую эту процедуру через phpMyAdmin, все работает нормально, но вызов ее в контроллере CodeIgniter вызывает проблемы с производительностью.
После первого вызова появилась такая ошибка (до первого вызова ее не было) любая проблема):
Код: Выделить всё
A Database Error Occurred
Unable to select the specified database: mgr2
Filename: core/Loader.php
Line Number: 346
В моей таблице геоданных сейчас около 2 тысяч записей. Я пытался увеличить конфигурацию памяти для MySQL, но безрезультатно. Что может быть не так?
Подробнее здесь: https://stackoverflow.com/questions/242 ... abase-conn