Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 12-11-2002, 06:51 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help with a query!

Query: SELECT usergroupid FROM user WHERE userid=1
Time before: 0.49647402763367
Time after: 0.49692595005035

EEK!

This SELECT usergroupid FROM user WHERE userid=1 query shows up on full page of a thread on showthread about 12 times!

I have 42 queries on the page, and I knew something was wrong, just haven't had time to check for a while, just did and it's this thing...maybe looping?

How could I solve this?
Reply With Quote
  #2  
Old 12-11-2002, 08:30 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Check the buildpostbit function in admin/functions.php and see if you have any queries in the function.
Reply With Quote
  #3  
Old 12-11-2002, 09:37 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

the function is called getpostbit

and yes, there shouldn't be a query in this function, because it will add an extra query PER POST.

if you need the usergroupid because of a hack, you should use a JOIN query in showthread instead..
Reply With Quote
  #4  
Old 12-12-2002, 01:23 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was thinking of the comment thats above it I guess thats what it used to be called.
Reply With Quote
  #5  
Old 12-12-2002, 03:37 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just looked in the whole postbit part of functions.php and found no query that could be causing this...

Could you maybe give me ideas as to what the query is? How I could locate it?

And do all queries have DB_site before them?
Reply With Quote
  #6  
Old 12-12-2002, 03:40 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It would either be in the postbit function in admin/functions.php or in showthread.php (do you get this query lots of times on other pages?)

It would look something like:

PHP Code:
$DB_site->query_first("SELECT usergroupid FROM user WHERE userid=$bbuserinfo[usergroupid]"); 
Perhaps something in global.php or the phpinclude template contains this in a loop? (If its on pages other than showthread too).
Reply With Quote
  #7  
Old 12-12-2002, 04:33 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's not on forumhome or forumdisplay for sure, and I don't think it's anywhere else, I mean it appears around 10 times on showthread! It can't be on forumhome as forumhome is only 22 queries, and forumdisplay is only 25 (gotta optimize this actually)...

I'll have to look again for the query.
Reply With Quote
  #8  
Old 12-12-2002, 04:36 PM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:

  
if ($usergroupid==-or $usergroupid==0) {
    if (
$userid==0) {
      
$usergroupid=1;
    } else {
      if (isset(
$usercache["$userid"])) {
        
$usergroupid=$usercache["$userid"]['usergroupid'];
      } else {
        
$getuser=$DB_site->query_first("SELECT usergroupid FROM user WHERE userid=$userid");
        
$usergroupid=$getuser['usergroupid'];
      }
    }
  } 
That's in functions.php, in the getpermissions part, it's the only part where there is a SELECT usergroupid query..
Reply With Quote
  #9  
Old 12-12-2002, 04:42 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thats probably supposed to be there, is the query on all showthread pages? If not is it threads in private forums or forums with specific usergroup permissions?
Reply With Quote
  #10  
Old 12-12-2002, 04:44 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yep, thats definatly suposed to be there. Do you have anything like:

PHP Code:
$permissions=getpermissions($forumid); 
In the getpostbit function? It may be repeatedly querying your permissions.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 12:56 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04499 seconds
  • Memory Usage 2,255KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete