Я обновляю существующую таблицу примерно так:
def upload_airports_mariadb(city,...)
airport=Airport.find_or_create(City: city)
airport.AirportID=airportid
airport.TimeZone=timezone
airport.save
end
В то время как аэропорт представляет собой простую модель:
require 'sequel'
class Airport < Sequel::Model
set_primary_key [:City]
# Allow to set primary key using mass assignment.
unrestrict_primary_key
end
Используется в Webui для разового доступа за клик.это хорошо, но при использовании одного и того же кода для огромного количества обновлений для таблицы в цикле это ужасно медленно.Это цена за то, что вы не читаете всю таблицу, не корректируете ее и не записываете ее обратно за один раз?Честно говоря, мне нравится ощущение объекта, и я не хотел бы иметь дело с таблицами.
Наблюдение, которое вселяет в меня надежду, заключается в том, что скорость зависит от типа моего сетевого подключения.
Есть ли способ сообщить сиквелу, чтобы соединение оставалось открытым?Обновление 7k значений занимает до 40 минут ... это ужасно медленно
в настоящее время я просто звоню
@db = Sequel.connect("mysql2://path)
Почему это так медленно?