Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-28-2010, 02:49 PM
DarkSuyan DarkSuyan is offline
 
Join Date: Feb 2007
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Search Fix without Sphinx

Hello Everybody.

Like many of you i got a very slowly Search since VBulletin 4.
But some Days ago i found finally a Way to fix it and without installing a 2. Serch Engine like Sphinx.

You should know there are 2 Ways a Table in a Database can be in VB, "innodb" or "MyISAM".
The Problem is that VB3 gots only "MyISAM" and VB4 now use's "innodb" and "MyISAM".

For any Reason alot Server are getting Problems with innodb and VBulletin 4 together, well anyways i used a addon some Days ago which changed all Non-Fulltext Tables to "innodb" and well what do you think what happend? The Site was that slowly, it keeps 5 Minuts to open the AdminCP

Well then i got the Idea to change all to "MyISAM" (after i realize that not all was MyISAM before...)so i changed the Addon a bit which i wanna share with you

Remember: Do it at you own Risk. My Times needed for Searching changed from 16-20 sec. to 0 sec. !

Well here you go:

Goto https://vborg.vbsupport.ru/showthread.php?t=228846, download the addon and install it at you Site. (AdminCP -> Addon's & Plugins -> manage Addon's -> import)

Now go to AdminCP -> Addons & Plugins -> manage Plugins -> MyISAM 2 innoDB

In the 5. Box replace ALL for:

Code:
switch ($_REQUEST['do'])
{
	case 'chooser':
	{
		print_form_header('misc', 'change_myisam_to_innodb');
		print_table_header($vbphrase['plusvb_myisam_to_innodb']);
		print_description_row($vbphrase['plusvb_myisam_to_innodb_description']);
		print_submit_row($vbphrase['go']);
	}
	break;  
			
	case 'change_myisam_to_innodb':
	{
		$mysql_engines = $db->query_read('SHOW ENGINES');
	
		while ($engines = $db->fetch_row($mysql_engines))
		{
			if ((strtolower($engines[0]) == 'innodb') AND 
				((strtolower($engines[1]) == 'yes') OR
				(strtolower($engines[1]) == 'default')))
			{
				$innodb_enabled = true;
			}
		}
		$db->free_result($engines); 
		
		if (!$innodb_enabled)
		{
			print_stop_message('plusvb_innodb_disable');	
		}
		
		$tables = $db->query_write("SHOW TABLE STATUS");
        $db->hide_errors();
		while ($table = $db->fetch_array($tables))
		{
			$table['Engine'] = (!empty($table['Type']) ? $table['Type'] : $table['Engine']); 
			$value = $table['Name'];
			if (!in_array($table['Name'], array(
					'post', 'thread', 'groupmessage', 'language', 'pt_issue', 
					'pt_issuenote', 'socialgroup', 'blog_text')) AND 
				!in_array(strtolower($table['Engine']), array('heap', 'memory', 'MyISAM'))) //innodb //MyISAM
			{                                                                               
				echo "<br />\nConverting $value ... "; 
				vbflush();
			
				$db->query_write("ALTER TABLE $value ENGINE=MyISAM");  
				
				if ($db->errno() == 0)
				{
					echo 'done';					
				}
				else
				{
					echo 'FILED';			
				}
				vbflush(); 
			}             
		}
		$db->free_result($table); 
		$db->show_errors();
	}
	break;
}
Then Save and got to Maintence -> Update Counters -> Change tables engine to InnoDB

It will takes some time, depends how big your Database is and dont get fooled by the Name or Description of the Addon is only edited the executing Code not the Names or Descriptions...

So thats it, remember: Do it at your own Risk, it worked great for me but must not mean that it does to you too ;P


PS: Yes, im German and my English isnt that well...

Credits for original Addon goes to PlusVB
Reply With Quote
  #2  
Old 04-28-2010, 09:17 PM
cory_booth cory_booth is offline
 
Join Date: Jul 2006
Posts: 224
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have ran this mod and executed the DB convert function.
Will let you all know how it goes...
But...
No database errors or other anomolies that I have noticed.
Reply With Quote
  #3  
Old 04-28-2010, 10:30 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This isnt an add-on - moved to vb4 discussion forum.
Reply With Quote
  #4  
Old 09-03-2010, 04:43 AM
Jaxel Jaxel is offline
 
Join Date: Sep 2005
Posts: 1,160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

n/m
Reply With Quote
Reply


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 07:49 PM.


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.03465 seconds
  • Memory Usage 2,188KB
  • Queries Executed 11 (?)
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
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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_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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete