vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   VB3 Integrated Multi-Portal - Any Interest? (https://vborg.vbsupport.ru/showthread.php?t=63394)

FASherman 04-23-2004 01:51 AM

Optimizing modules/blocks isn't very difficult.

The previous version of vbportal did that in a few occurrances too. When I was using it, I removed them by rewriting the queries using left joins, reading the results into a cache array and extracting info from the cached array.

Even better is to load the cache array in mainfile.php and making it globally available to all/blocks and modules based on a single sql query.

Will all Nuke blocks/modules be optimized? Hardly. However, I can optimize the most popular over time ir provide programming expertise to others who wish to do so.

FASherman 04-23-2004 04:52 PM

Here's an example of what I mean. Lets say you're looking for a list of threads, but at the same time, you want to know what the name (not id) of the forum they're in, the test from the first post in that thread and the actual image url for that post's icon.

You COULD, as I have seen other code do, grab the thread info and for each row of thread info query the post, forum and icon tables. If you're grabbing 10 threads, thats 31 queries. WAY INEFFICIENT!

The right way to do it is with a single query and compounded left joins. Here is an example:

SELECT vb_thread.votenum, vb_thread.votetotal, vb_thread.replycount, vb_thread.threadid, vb_thread.iconid, vb_thread.title, vb_thread.postusername, vb_thread.lastposter, vb_thread.dateline, vb_icon.iconpath, vb_post.pagetext, vb_forum.title as forumtitle FROM vb_thread LEFT JOIN vb_icon ON (vb_thread.iconid=vb_icon.iconid) LEFT JOIN vb_post on (vb_thread.firstpostid=postid) LEFT JOIN vb_forum ON (vb_thread.forumid=vb_forum.forumid) WHERE vb_thread.forumid=$SEARCHFORUM ORDER BY sticky DESC, vb_thread.dateline DESC LIMIT 10

You are correct. I can't speak for the stock NUKE modules. But this is how MY code works. I take the time to make the most efficient use of the database that I possibly can.

Remember, I'm a Texan and this ain't my first rodeo.

FASherman 04-26-2004 07:05 PM

Future discussions regarding VB3Nuke development will take place at http://www.vb3nuke.com


All times are GMT. The time now is 10:26 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01038 seconds
  • Memory Usage 1,717KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (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)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete