Хочу получить некоторые разъяснения по поводу обновления Laravel и того, является ли мой код логически правильным. У меня есть модель FlightStat (прикреплю схему), и мне нужно добавить несколько строк, в моей таблице 30 000 строк, и простое добавление этих двух записей занимает 15 мс
Моя схема:
Schema::create('flight_stats', function (Blueprint $table) {
$table->ulid('id')->primary();
$table->integer('country');
$table->integer('flight');
$table->bigInteger('total_trips')->default(0);
$table->char('key_hash', 16)->charset('binary')->virtualAs("
unhex(MD5(CONCAT(
`country`, '',
`flight`, ''
)))
");
$table->timestamps();
$table->unique('key_hash');
});
И мое утверждение:
$flights = [[
'country' => rand(1, 500000),
'flight' => rand(1, 500000),
'total_trips' => 10
], [
'country' => 99,
'flight' => 99,
'total_trips' => 10
]];
$stat = FlightStat::upsert($flights, [
'country',
'flight',
'key_hash'
], [
'total_trips' => new Expression("`total_trips` + VALUES(`total_trips`)")
]);
Подробнее здесь: https://stackoverflow.com/questions/793 ... -correctly
Laravel upsert MySQL 8 - индекс используется правильно ⇐ MySql
Форум по Mysql
-
Anonymous
1736279278
Anonymous
Хочу получить некоторые разъяснения по поводу обновления Laravel и того, является ли мой код логически правильным. У меня есть модель FlightStat (прикреплю схему), и мне нужно добавить несколько строк, в моей таблице 30 000 строк, и простое добавление этих двух записей занимает [b]15 мс[/b]
Моя схема:
Schema::create('flight_stats', function (Blueprint $table) {
$table->ulid('id')->primary();
$table->integer('country');
$table->integer('flight');
$table->bigInteger('total_trips')->default(0);
$table->char('key_hash', 16)->charset('binary')->virtualAs("
unhex(MD5(CONCAT(
`country`, '',
`flight`, ''
)))
");
$table->timestamps();
$table->unique('key_hash');
});
И мое утверждение:
$flights = [[
'country' => rand(1, 500000),
'flight' => rand(1, 500000),
'total_trips' => 10
], [
'country' => 99,
'flight' => 99,
'total_trips' => 10
]];
$stat = FlightStat::upsert($flights, [
'country',
'flight',
'key_hash'
], [
'total_trips' => new Expression("`total_trips` + VALUES(`total_trips`)")
]);
Подробнее здесь: [url]https://stackoverflow.com/questions/79337170/laravel-upsert-mysql-8-is-index-being-used-correctly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия