[MySQL] - nadmiar w tabeli...

0

witam

mam takie pytanko jak rozpoznac nadmiar w tabeli bazy MySQL'owej??

0

tzn. o co Ci chodzi ??
Podczas dodawania danych możesz sprawdzać długość wprowadzonego ciągu np. za pomocą php :)

0

chodzi o to ze jak dodaje jakies dane do tabel skryptem php lub za pomoca phpmyadmin'a to raz na jakis czas w phpmyadmin w podgladzie struktury tabeli pokazuje sie nadmiar liwkwiduje sie go za pomoca zapytania do bazy "OPTIMIZE TABLE nazwa_tabeli;
moge to zapytanie wywolywac za kazdym razem jak skrypt cos wstawia ale po co ... i wlasnie ciekawi mnie to jak np phpmyadmin wykrywa nadmiar w tabeli... a przechodzenie przez zrodelko phpmyadmin'a to ciezka praca... moze ktos cos wie o jakims zapytaniu (lub zapytaniach) ktore to pokazuja...

0

tutaj znajdziesz odpowiedz na swoje pytanie: http://dev.mysql.com/doc/mysql/en/table-maintenance-sql.html

0

dzieki Maker :)

a oto gotowa funkcja moze komus sie przyda:

function optimizeTable($tablename) {
	$db=mysql_connect($HTTP_HOST,"xxxx","xxxx");
	mysql_select_db("nazwa_bazy",$db);
	$dbresult=mysql_query("SHOW TABLE STATUS FROM nazwa_bazy",$db);
	while($row=mysql_fetch_array($dbresult)) {
		$status_info[]=$row;
	}
	mysql_free_result($dbresult);
	$in_array=false;
	$p=0;
	for($x=0;$x<count($status_info);$x++) {
		if($status_info[$x]["Name"]==$tablename) {
			$p=$x;
			$in_array=true;
			break;
		}
	}
	if($in_array==true) {
		$is_data_free=($status_info[$p]["Data_free"]!="0");
		if($is_data_free==true)
			mysql_query("OPTIMIZE TABLE `$tablename`",$db);
	}
	mysql_close($db);
}

nie jest moze optymalna ale dziala :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1