由于我在数据库中执行的一些迭代插入,我遇到了一些性能问题。
这是一个预订网站,每个客户都可以在其中按时间跨度设置一年中每一天的公寓价格。
目前,我在 PHP 中循环从 start_date 到 end_date 并相应地设置价格,但长时间这样做需要很长时间。
由于每个时期的价格都是相同的,我想知道 MySQL 是否有办法做到这一点,而无需通过带有多个插入的繁重 PHP 循环,而是用一个查询来做到这一点。
CREATE table disponibility (
dispo_id INT PRIMARY KEY,
dispo_full_date varchar(10),
dispo_day varchar(2),
dispo_month varchar(2),
dispo_year varchar(4),
dispo_price INT
)
所以用户从 date_from 和 date_to 设置价格,我需要以下格式的数据:
dispo_full_date => 日期格式 dd/mm/yyyy dispo_day => 日期格式 dd dispo_month => 日期格式 mm, dispo_year => 日期格式 yyyy, dispo_price => 价格,只是一个INT
有没有办法只用 SQL 做到这一点?特别是因为每个月的天数不同,甚至取决于 2 月的年份......