2015-01-18 2 views
-1
db1        db2 
    table1       table2 

내가 PHP에 db2.table2에서 db1.table1 복사 할PHP MySQL의 데이터베이스 복사본

연결 기능 :

function baglan() 

{ 
$mysqli = mysqli_connect('127.0.0.1', '111', '111', 'db1')or die("error"); 
    $mysqli->set_charset("utf8"); 

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
return $mysqli; 
} 

PHP 내 SQL 쿼리 :

query="Insert Into `db1`.`table1` 
Select * From `db2`.`table2`; "; 

실행 검색어 :

baglan()->query($query); 

이가 phpMyAdmin을에 노력하고 있습니다 그러나 이것은 PHP

+0

당신은'mysqli-> query()'에 대한 호출을 에러로 검사하지 않는 것 같습니다. 그렇게하고 결과를 게시하십시오. –

+0

$ mysqli-> select_db ("db2"); ? – peace

+0

'$ conn = baglan(); $ conn-> select_db ("arsiv", true); $ conn-> query ($ query); '경고 : mysqli :: select_db()는 정확히 1 개의 매개 변수를 요구하며, 2는 – peace

답변

-1

이 누구보다 효율적인 방법을 보여줄 수 있다면 새로운 표
에 표 2 복사하는 매우 빠른 방법에 작동하지 않습니다, 나는 그것을보고 싶어요 .

나는이 방법을 여기에 게시 된 다른 일반적인 방법과 비교하여 테스트했으며 이것이 가장 좋은 것으로 나타났습니다. 나는 수년간 각 사용자에게 자신의 테이블을 편집 할 수 있도록 사용 해왔다.

mysqli_query("CREATE TABLE `db1`.`table1` LIKE `db2`.`table2`"); 
mysqli_query("ALTER TABLE `db1`.`table1` DISABLE KEYS"); 
mysqli_query("INSERT INTO `db1`.`table1` SELECT * FROM `db2`.`table2`"); 
mysqli_query("ALTER TABLE `db1`.`table1` ENABLE KEYS"); 

나는이를 5500 개의 레코드 테이블에서 벤치마킹했다.

  • 시간 5 MS
  • 해제 키 0.2 MS
  • 삽입 된 5500 개 기록 (30) MS
  • 키 (36) MS

, 삽입 된 5500 만들 총 약 70 밀리 초를 사용 만들기 기록하고 색인을 다시 만듭니다.

관련 문제