I am filtering on a string column called mycolumn. I can think of the following 3 ways to filter, which will be achieve better performance ?
-- method #1
where
( mycolumn = 'FixedStringA.FixedStringB.VariableStringA.FixedString'
OR mycolumn = 'FixedStringA.FixedStringB.VariableStringB.FixedString'
OR mycolumn = 'FixedStringA.FixedStringB.VariableStringC.FixedString'
OR mycolumn = 'FixedStringA.FixedStringB.VariableStringD.FixedString' );
-- method #2
where mycolumn like '%//.FixedString';
-- method #3
where split(mycolumn,'//.')[3] = 'FixedString';
Please know that FixedStringA and FixedStringB are like constants , their values will remain fixed, that's why calling them fixed strings. And mycolumn is not a partition key for your info.