View Single Post
  #442  
Old 12-16-2004, 06:05 PM
eXtremeTim eXtremeTim is offline
 
Join Date: Jun 2002
Location: eXtremewebtech.com
Posts: 1,201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You really should learn to use left joins. Im using them right now to start to clean up the amt of queries in the arcade addon first since it was using 92. So far I have cut 92 down to 52. thats 4 queries per game you have listed that have now been cut out. I now have gotten the arcade addon page down to 16 queries no matter how many games you list be it 1 or a 100. Trust me I tested it. Im going to go through and see about doing the rest of this hack and see what I can get it down to.

If the author doesnt mind. I will post my current modified file for everyone.


This is when listing 10 games on the page.

When using inner joins it generates the page in the following time.
Page generated in 0.18413091 seconds (41.08% PHP - 58.92% MySQL) with 16 queries

Now using left joins it generates the page in the following time.
Page generated in 0.28608704 seconds (26.56% PHP - 73.44% MySQL) with 16 queries

Only problem with the inner join is that you can only use the conditionals when running mysql 3.23.17

I can release both versions thats no problem.


High Stress Load Test
Original Code set to display 1000 games:
Page generated in 2.45838499 seconds (26.88% PHP - 73.12% MySQL) with 3164 queries

Optimized Code Using inner join's displaying 1000 games:
Page generated in 0.50021791 seconds (78.25% PHP - 21.75% MySQL) with 16 queries

Optimized Code Using left join's displaying 1000 games:
Page generated in 0.67386508 seconds (68.22% PHP - 31.78% MySQL) with 16 queries
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01574 seconds
  • Memory Usage 1,764KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete