This kind of error usually means you ran out of disk space on your
tmp_dir drive.

Walter

On Mon, May 31, 2010 at 13:30, Manasi Save
<manasi.s...@artificialmachines.com> wrote:
> Hi All,
>
> I am getting following error when I am trying to run one stored procedure on
> table which has 300000 rows in it. Table Type id MyIsAM.
>
> ERROR 126 (HY000): Incorrect key file for table '/tmp/#sql_66b0_0.MYI'; try
> to repair it
>
> How to debug this error? I mean I tried to increase tmp_table_Size parameter
> but, it does not affect.
>
> Proc is as follows :-
>
>
> CREATE definer=`myus...@`localhost` PROCEDURE `SP_GetLogs`(InputToDate Date,
> InputFromDate Date, InputFrom int, InputTo int)
>     DETERMINISTIC
> BEGIN
>
>
> Declare Count int;
> Declare AvgVal float(10,2);
>
>
>
> Drop Temporary Table If Exists norep_Temp;
> Create Temporary Table norep_Temp
> (
> --   CountOfXML int,
>   TaskName Varchar(100),
>   MinFinalXML Varchar(10000),
>   MaxFinalXML Varchar(10000) -- ,
> --  AvgOfXML float(10,2)
> );
> If (InputToDate IS NULL and InputFromDate IS NULL)
> Then
> SET @stmt = Concat('Insert into norep_Temp(MinFinalXML)
> Select distinct FinalXML
> From ClientLog
> Where TaskName = ','"','Time required to complete task','"','
> and FinalXML Between 1 and 10
> Order By FinalXML ASC LIMIT ',InputFrom,',',InputTo,';');
> Select @stmt;
> Prepare stmt1 From @stmt;
> Execute stmt1;
> Deallocate Prepare stmt1;
> SET @stmt = Concat('Insert into norep_Temp(MaxFinalXML)
> Select Distinct FinalXML
> From ClientLog
> Where TaskName = ','"','Time required to complete task','"','
> Order By FinalXML DESC LIMIT ',InputFrom,',',InputTo,';');
> Prepare stmt1 From @stmt;
> Execute stmt1;
> Deallocate prepare stmt1;
> Select AVG(FinalXML) into AvgOfXML From ClientLog Where TaskName = 'Time
> required to complete task';
> Select Count(*) into CountOfXML From ClientLog Where TaskName = 'Time
> required to complete task';
> -- Select Count(*) as CountOfXML, MIN(MinFinalXML), MAX(MaxFinalXML),
> AvgOfXML From norep_Temp Order By MinFinalXML, MaxFinalXML Limit 0,10;
>  Select CountOfXML, MinFinalXML, MaxFinalXML, AvgOfXML  From norep_Temp;
>
> Drop Temporary Table If Exists Temp;
> Create Temporary Table Temp
> (
>   TaskName Varchar(100),
>   MinVal Varchar(100),
>   MaxVal Varchar(100) -- ,
> );
>
> If (InputToDate IS NULL and InputFromDate IS NULL)
> Then
>
> SET @stmt = Concat('Insert into Temp(MinVal)
> Select distinct Val
> From MyLogs
> Where TaskName = ','"','Time required to complete task','"','
> and Val Between 1 and 10
> Order By Val ASC LIMIT ',InputFrom,',',InputTo,';');
>
> Prepare stmt1 From @stmt;
> Execute stmt1;
> Deallocate Prepare stmt1;
>
>
> SET @stmt = Concat('Insert into Temp(MaxVal)
> Select Distinct Val
> From MyLogs
> Where TaskName = ','"','Time required to complete task','"','
> Order By Val DESC LIMIT ',InputFrom,',',InputTo,';');
>
> Prepare stmt1 From @stmt;
> Execute stmt1;
> Deallocate prepare stmt1;
>
> Select AVG(Val) into AvgVal From MyLogs Where TaskName = 'Time required to
> complete task';
>
> Select Count(*) into Count From MyLogs Where TaskName = 'Time required to
> complete task';
>
>  Select Count, MinVal, MaxVal, AvgVal  From Temp;
>
> END;
>
> --
> Regards,
> Manasi Save
>
>
>
>

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to