I have an odd behavior that is consistently reproducible. A sequel query
runs >20 sec in RSpec vs 1-2 sec in Cucumber framework. What can I do to
further isolate the issue?
- sequel 4.44.0
- mysql 5.7.17 homebrew
- ruby 2.3.1
- same Gemfile - same gems loaded and required
- same Sequel connect parameters
- same Sequel models
- Sequel makes same SQL call in log
- same target DB/table on localhost
*Cucumber*
Sequel::Model.db = Sequel.connect(:adapter=>'mysql2',
:host=>params['host'],
:user=>params['username'],
:password=>params['password'],
:database=>params['database'],
:logger => Logger.new('log/db.log'))
require_relative('../../models/mysql_models.rb')
I, [2017-04-04T10:18:31.985907 #8119] INFO -- : (0.002462s) SET
@@wait_timeout = 2147483
I, [2017-04-04T10:18:31.988329 #8119] INFO -- : (0.002296s) SET
SQL_AUTO_IS_NULL=0
I, [2017-04-04T10:18:31.995527 #8119] INFO -- : (0.006837s) DESCRIBE
`TST_Hotel_Master`
I, [2017-04-04T10:18:32.006526 #8119] INFO -- : (0.004150s) DESCRIBE
`HOTEL_PROVIDER`
I, [2017-04-04T10:18:32.018764 #8119] INFO -- : (0.007097s) DESCRIBE
`TST_Hotel_Photo_Sub`
I, [2017-04-04T10:18:32.025964 #8119] INFO -- : (0.004370s) DESCRIBE
`HOTEL_NOTICE`
I, [2017-04-04T10:18:32.032684 #8119] INFO -- : (0.004056s) DESCRIBE
`HOTEL_VENDOR`
I, [2017-04-04T10:18:32.042064 #8119] INFO -- : (0.005833s) DESCRIBE
`HOTEL_AMENITIES_MAP`
I, [2017-04-04T10:18:32.048870 #8119] INFO -- : (0.004065s) DESCRIBE
`HOTEL_AMENITIES`
I, [2017-04-04T10:18:32.058001 #8119] INFO -- : (0.005569s) DESCRIBE
`HOTEL_AMENITIES_OFFICIAL`
I, [2017-04-04T10:18:32.065450 #8119] INFO -- : (0.004798s) DESCRIBE
`CITIES`
I, [2017-04-04T10:18:32.073952 #8119] INFO -- : (0.004590s) DESCRIBE
`STATES`
I, [2017-04-04T10:18:32.082867 #8119] INFO -- : (0.006935s) DESCRIBE
`COUNTRIES`
I, [2017-04-04T10:18:32.091720 #8119] INFO -- : (0.006064s) DESCRIBE
`TDR_LANDMARKS`
I, [2017-04-04T10:19:01.464728 #8119] INFO -- : (*28.198520s*) SELECT
`hotel_id`, group_concat(distinct provider) AS `providers` FROM
`HOTEL_PROVIDER` INNER JOIN `TST_Hotel_Master` AS `HotelMaster` ON
(`HotelMaster`.`id` = `HOTEL_PROVIDER`.`hotel_id`) WHERE
(`Property_Country_code` = 'US') GROUP BY `hotel_id` HAVING (count(distinct
provider) >= 10) LIMIT 1
*RSpec*
Sequel::Model.db = Sequel.connect(:adapter=>'mysql2',
:host=>data['host'],
:user=>data['username'],
:password=>data['password'],
:database=>data['database'],
:logger => Logger.new('log/db.log'))
require_relative('../models/mysql_models.rb')
I, [2017-04-04T10:23:50.474360 #8273] INFO -- : (0.000413s) SET
@@wait_timeout = 2147483
I, [2017-04-04T10:23:50.474774 #8273] INFO -- : (0.000328s) SET
SQL_AUTO_IS_NULL=0
I, [2017-04-04T10:23:50.475723 #8273] INFO -- : (0.000706s) DESCRIBE
`TST_Hotel_Master`
I, [2017-04-04T10:23:50.480887 #8273] INFO -- : (0.000645s) DESCRIBE
`HOTEL_PROVIDER`
I, [2017-04-04T10:23:50.483855 #8273] INFO -- : (0.000677s) DESCRIBE
`TST_Hotel_Photo_Sub`
I, [2017-04-04T10:23:50.486636 #8273] INFO -- : (0.000582s) DESCRIBE
`HOTEL_NOTICE`
I, [2017-04-04T10:23:50.488908 #8273] INFO -- : (0.000570s) DESCRIBE
`HOTEL_VENDOR`
I, [2017-04-04T10:23:50.491756 #8273] INFO -- : (0.000625s) DESCRIBE
`HOTEL_AMENITIES_MAP`
I, [2017-04-04T10:23:50.494278 #8273] INFO -- : (0.000643s) DESCRIBE
`HOTEL_AMENITIES`
I, [2017-04-04T10:23:50.497134 #8273] INFO -- : (0.000600s) DESCRIBE
`HOTEL_AMENITIES_OFFICIAL`
I, [2017-04-04T10:23:50.501429 #8273] INFO -- : (0.000692s) DESCRIBE
`CITIES`
I, [2017-04-04T10:23:50.504315 #8273] INFO -- : (0.000592s) DESCRIBE
`STATES`
I, [2017-04-04T10:23:50.506653 #8273] INFO -- : (0.000573s) DESCRIBE
`COUNTRIES`
I, [2017-04-04T10:23:50.509742 #8273] INFO -- : (0.000692s) DESCRIBE
`TDR_LANDMARKS`
I, [2017-04-04T09:23:56.474159 #8273] INFO -- : (*1.610943s*) SELECT
`hotel_id`, group_concat(distinct provider) AS `providers` FROM
`HOTEL_PROVIDER` INNER JOIN `TST_Hotel_Master` AS `HotelMaster` ON
(`HotelMaster`.`id` = `HOTEL_PROVIDER`.`hotel_id`) WHERE
(`Property_Country_code` = 'US') GROUP BY `hotel_id` HAVING (count(distinct
provider) >= 10) LIMIT 1
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.