Use of GROUP_CONCAT on Mysql As far as I understand, using or should be avoided as much as possible as rule of thumb in query.

I have two tables having one-to-many relationship.

And I have joined two tables like below.

SELECT A.*, group_concat(B.info separator ','), group_concat(B.info2 separator ',')
FROM A
JOIN B
ON A.id = B.a_id
GROUP BY A.id;


Does using GROUP_CONCAT affect the performance like or does in MySQL? If it does, what would be the efficient way to join those tables? 

Any suggestion or advice would be appreciated. Thank you.
Your interests are generally not well-served by learning somewhat vague "rules" like "OR should be avoided" or "group_concat is slow."  

Neither is actually correct, they only have elements of truth underlying them.

Use the correct capability to accomplish your purpose, while understanding that sometimes your interests are served by modifying your purpose to accommodate inherent limitations.

Using GROUP BY (not simply GROUP_CONCAT) can cause a performance hit if the optimizer has no effective way to accommodate the grouping... but this has nothing to do with whether GROUP BY should be used.  If you need it, then of course you should use it... but manipulating strings is a cake-walk compared to scanning disks and sorting without an index, and the CPU cycles consumed by the concatenation are near the noise floor.

The take-away here is to understand how the optimizer sees your query, and how it plans to resolve it.  Using EXPLAIN SELECT ... to verify that the server has made sensible choices (and that you have written a sensible query) should be second-nature to you if you want good performance.

https://dev.mysql.com/doc/refman/5.7/en/explain.html#explain-execution-plan

Interpreting the output can seem like a bit of a dark art, but you'll find it's worth the effort.