0

Ignite does not have persistence.

sql is as folows:

SELECT CONCAT(MENAME,'<=@->', NATIVEMEDN,'<=@->', ORIGINSYSTEMID), COUNT(1)  FROM 
T_CURRENT_ALARM  WHERE (specialAlarmStatus =0 and (invalidated =0) and specialAlarmStatus in 
(0) and merged in (0,1) ) AND (changeFlag !=3 or changeFlag is null)  GROUP BY 
CONCAT(meName,'<=@->', nativeMeDn,'<=@->', originSystemId) order by count(1) DESC limit 10

this SQL statement execution times out for 30 seconds.

The SQL statement execution result is as follows:

alarmForJmeter_32768<=@->3900f481-9641-4673-88fb-4c8b70be5bcd<=@->0 1
alarmForJmeter_32768<=@->47873ea8-5fc6-4085-98f5-3a3be43fbe36<=@->0 1
alarmForJmeter_32768<=@->81ba6f80-8996-4933-9b9a-93a2c78e9f96<=@->0 1
alarmForJmeter_32768<=@->f0a1209a-29bb-4ff8-a77f-b00f253977d7<=@->0 1
alarmForJmeter_32768<=@->fbdae380-3017-4360-a58b-8317e213b94a<=@->0 1

ignite's log is as follows:

Query execution is too long [duration=3090ms, type=REDUCE, distributedJoin=false, 
enforceJoinOrder=false, lazy=false, schema=alarmCache, sql='SELECT CONCAT(MENAME,'<=@->', 
NATIVEMEDN,'<=@->', ORIGINSYSTEMID), COUNT(1)  FROM AlarmRecord  WHERE ( (specialAlarmStatus 
=?) and (invalidated =?) and specialAlarmStatus in (?) and merged in (?,?) ) AND (changeFlag 
!=? or changeFlag is null)  GROUP BY CONCAT(meName,'<=@->', nativeMeDn,'<=@->', 
originSystemId) order by count(1) DESC limit 10', plan=SELECT\n    __C0_0 AS __C0_0,\n    
CAST(SUM(__C0_1) AS BIGINT) AS __C0_1\nFROM PUBLIC.__T0\n    /* "alarmCache"."merge_scan" */\n    
/* scanCount: 80024 */\nGROUP BY __C0_0\nORDER BY 2 DESC\nLIMIT 10, reqId=2054]
[2021-11-11 20:13:09,620][WARN ][0][0][long-qry-#49][ROOT][IgniteLoggerImp][72] Query 
execution is too long [duration=6097ms, type=REDUCE, distributedJoin=false, 
enforceJoinOrder=false, lazy=false, schema=alarmCache, sql='SELECT CONCAT(MENAME,'<=@->', 
NATIVEMEDN,'<=@->', ORIGINSYSTEMID), COUNT(1)  FROM AlarmRecord  WHERE ( (specialAlarmStatus 
=?) and (invalidated =?) and specialAlarmStatus in (?) and merged in (?,?) ) AND (changeFlag 
!=? or changeFlag is null)  GROUP BY CONCAT(meName,'<=@->', nativeMeDn,'<=@->', 
originSystemId) order by count(1) DESC limit 10', plan=SELECT\n    __C0_0 AS __C0_0,\n    
CAST(SUM(__C0_1) AS BIGINT) AS __C0_1\nFROM PUBLIC.__T0\n    /* "alarmCache"."merge_scan" */\n    
/* scanCount: 144277 */\nGROUP BY __C0_0\nORDER BY 2 DESC\nLIMIT 10, reqId=2054]

other:

Query produced big result set.  [fetched=100000, duration=301ms, type=REDUCE, 
distributedJoin=false, enforceJoinOrder=false, lazy=false, schema=alarmCache, sql='SELECT 
CSN,SEVERITY,ACKED,CLEARED  FROM AlarmRecord  WHERE (specialAlarmStatus =?) and (invalidated 
=?) and specialAlarmStatus in (?) and merged in (?,?)  ORDER BY ARRIVEUTC DESC', plan=SELECT\n    
__C0_0 AS CSN,\n    __C0_1 AS SEVERITY,\n    __C0_2 AS ACKED,\n    __C0_3 AS CLEARED\nFROM 
PUBLIC.__T0\n    /* "alarmCache"."merge_sorted" */\n    /* scanCount: 456014 */\nORDER BY 
=__C0_4 DESC\n/* index sorted */, reqId=15205]

1 Answers1

0

Here are Ignite docs about SQL performance tuning: https://ignite.apache.org/docs/latest/perf-and-troubleshooting/sql-tuning

The main points are:

  • check your indexes
  • enable lazy loading
  • check your index inline size
ilya
  • 316
  • 1
  • 6